pandas to_csv写了一些额外的行

时间:2018-01-17 16:08:07

标签: python pandas jupyter-notebook

我有一个1000 {+行的大DataFrame行。我在jupyter笔记本中工作,加载数据,进行一些更改并尝试保存处理过的数据。

new_data = origin_data.apply(func)
news_data.to_csv('path',sep='\t')

但是当我检查保存的文件时,我发现了一些似乎来自origin_data的额外行。但如果我用pd.read_csv加载文件,一切似乎都是正确的。我检查了错误行周围的行和列的类型,没有错。我尝试了一些其他方法来保存数据,比如

csv.writer.writerows(new_data.values)

但额外的行仍然存在,我无法在new_data.values中找到它们。

有没有人遇到过这样的问题。提前谢谢。

2 个答案:

答案 0 :(得分:2)

很可能在某些文字栏中有换行符'\n' - 它们会被引用为"some text ...\n some text"

考虑以下演示:

CSV文件(4行,包括标题):

a,b,c
11,"text
we are still in the same cell...",33
22,aaa,44

DataFrame只有两个数据行:

In [191]: pd.read_csv(r'C:\Temp\a.csv')
Out[191]:
    a                                         b   c
0  11  text\r\nwe are still in the same cell...  33
1  22                                       aaa  44

答案 1 :(得分:0)

您是否在不使用应用功能的情况下遇到问题?应用函数被调用两次并产生副作用:https://github.com/pandas-dev/pandas/issues/6753