我有csv
我无法使用read_csv
阅读
使用sublime文本打开csv
会显示如下内容:
col1,col2,col3
text,2,3
more text,3,4
HELLO
THIS IS FUN
,3,4
正如您所看到的,文本HELLO THIS IS FUN
占用了三行,pd.read_csv
被混淆了,因为它认为这是三个新观察。我怎样才能在Pandas中正确解析?
谢谢!
答案 0 :(得分:1)
看起来你必须手动预处理数据:
with open('data.csv','r') as f:
lines = f.read().splitlines()
processed = []
cum_c = 0
buffer = ''
for line in lines:
buffer += line # Append the current line to a buffer
c = buffer.count(',')
if cum_c == 2:
processed.append(line)
buffer = ''
elif cum_c > 2:
raise # This should never happen
这假设您的数据仅包含不需要的换行符,例如如果你有数据说,一行有3个元素,下一行有2个元素,那么下一行应该是空白或只包含1个元素。如果它有2个或更多,即它缺少必要的换行符,则抛出错误。如有必要,您可以通过微小的修改来适应这种情况。
实际上,删除换行符可能更有效,但除非您拥有批次数据,否则无关紧要。