这是csv文件'test.csv'的内容,我试图通过pandas读取它read_csv()
"col1", "col2", "col3", "col4"
"v1", "v2", "v3", "v4"
"v21", "v22", "v23", "this, "creating, what to do? " problems"
这是我正在使用的命令 -
messages = pd.read_csv('test.csv', sep=',', skipinitialspace=True)
但我收到以下错误 -
CParserError: Error tokenizing data. C error: Expected 4 fields in line 3, saw 5
我希望第3行中第4列的内容为“this”,创建,该怎么做?“问题”
如果列中包含quotechar和分隔符,如何读取文件?
答案 0 :(得分:2)
pandas不允许你保留格式错误的行,说实话我并没有真正看到忽略某些"
字符的方法而不是你的例子中的其他字符。我认为你使用'", "'
作为分隔符然后进行清理的直觉是最好的方法。如果你真的担心在一行中这样做:
message = pd.read_csv('test.txt', sep='", "', names = ['col1','col2','col3','col4'], skiprows=1).apply(lambda x: x.str.strip('"'))
还处理列名称中的剥离引号,并为您提供:
>>> message
>>>
col1 col2 col3 col4
0 v1 v2 v3 v4
1 v21 v22 v23 this, "creating, what to do? " problems