[英]Python pandas read_csv unable to read row properly because of double quotes in csv file
我正在嘗試使用 pandas read_csv 讀取 csv 文件(在 excel 中創建)。 csv文件格式為:
some text,some number,some text,some text,amount
SWE-WWW,123344422,Hello,SWE,"1,222.50 SEK"
SWE-W12,3124123412,Hello,SWE,450.50 SEK
我的問題是“金額”列中的值中的引號(“)導致整行被讀取為字符串,並放在 dataframe 的第一列中。
因此,當我閱讀 csv 文件並打印時:
test = pd.read_csv('test.csv', quotechar='"', sep=',')
print(test)
我得到 output:
some text some number some text.1 some text.2 amount
0 SWE-WWW,123344422,Hello,SWE,"1,222.50 SEK" NaN NaN NaN NaN
1 SWE-W12 3.124123e+09 Hello SWE 450.50 SEK
如您所見,pandas 不會將第 1 行轉換為字符串,因為“金額”列中的值沒有引號。
如何讀取 csv 文件並獲取列中結構化的數據?
讀取 CSV tp pandas 時,每列都會獲取 dtype(您可以運行df.describe()
)並且字符串的級別高於 integer。 Object
pandas
你可以運行:
df['amount'] = df['amount'].apply(lambda x: float(x))
如果您確定所有列都是數字
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.