[英]Csv file incorrectly loading in pandas csv
我有要使用pd.read_csv
加載的pd.read_csv
。 但是,文件的某些行被讀為一列,而其他一些行則被正確地讀入單獨的列。 我認為問題在於包含引號的行,但我不想刪除它們。
我嘗試使用quotechar但沒有幫助
import pandas as pd
df = pd.read_csv('file1.csv', sep=',', quotechar='"')
我為您提供了兩行的csv內容,第一行應該閱讀不正確,而第二行是正確的:
0,1,2,3,4,5,6,7,8,9,10,11,12,13,14
a,br,c,,,,d,e,0,False,False,False,"bs,C",19/07/2018 23:25:12,27/05/2018 23:09:21
a,b,c,,,,d,e,2,False,False,False,U D,19/07/2011 11:21:02,18/07/2011 12:21:00
這不是一個答案,只是為了澄清。 如果執行以下代碼,您會得到什么:
import io
raw="""
0,1,2,3,4,5,6,7,8,9,10,11,12,13,14
a,br,c,,,,d,e,0,False,False,False,"bs,C",19/07/2018 23:25:12,27/05/2018 23:09:21
a,b,c,,,,d,e,2,False,False,False,U D,19/07/2011 11:21:02,18/07/2011 12:21:00
"""
df= pd.read_csv(io.StringIO(raw), sep=',')
df
如果看起來還可以,但是同一行在csv中造成了問題,則可能是編碼問題(已通過復制文本將其刪除),如果是這樣,則可以通過在CSV文件中添加適當的encoding=
選項來解決整個問題read_csv
。 另一方面,如果您可以使用上面的代碼在計算機上重現該問題,則說明發生了奇怪的事情,或者您的熊貓版本包含錯誤。 這是因為上面的代碼對我有用,並且從您對問題的評論中看來,它也對其他人也有用。
輸出對我來說是這樣的:
0 1 2 3 4 5 6 7 8 9 10 11 12 13 14
0 a br c NaN NaN NaN d e 0 False False False bs,C 19/07/2018 23:25:12 27/05/2018 23:09:21
1 a b c NaN NaN NaN d e 2 False False False U D 19/07/2011 11:21:02 18/07/2011 12:21:00
因此,第一個記錄的列“ 12”包含“ bs,C”,這是正確的,對嗎?
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.