我有一个无法使用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被混淆了,因为它认为这是三个新的观察结果。我怎样才能在熊猫身上正确地解析它呢?
谢谢!

最佳答案

看起来您必须手动预处理数据:

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个或更多,即它缺少必要的换行符,则抛出错误。如有必要,您可以稍加修改以适应这种情况。
实际上,删除换行符可能更有效,但除非您有大量数据,否则这不重要。

关于python - Pandas :如何在同一单元格上读取多行csv?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/43761607/

10-12 17:03
查看更多