我有要使用pd.read_csv
加载的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
答案 0 :(得分:0)
这不是一个答案,只是为了澄清。如果执行以下代码,您会得到什么:
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中造成问题,则可能是编码问题(已通过复制文本将其删除),如果是这样,则可以通过添加适当的{ encoding=
的{1}}选项。
另一方面,如果您可以使用上面的代码在计算机上重现该问题,则说明发生了奇怪的事情,或者您的熊猫版本包含错误。这是因为上面的代码对我有用,并且从您对问题的评论中看来,它也对其他人也有用。
输出对我来说是这样的:
read_csv
所以列“ 12”包含第一条记录的“ bs,C”,对吗?