簡體   English   中英

Python pandas read_csv 由於 csv 文件中的雙引號而無法正確讀取行

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM