簡體   English   中英

CSV文件錯誤地加載到熊貓CSV中

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

由於上面的示例適用於其他示例,因此我提供了嘗試加載csv文件時得到的屏幕截圖: 在此處輸入圖片說明

這不是一個答案,只是為了澄清。 如果執行以下代碼,您會得到什么:

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.

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