我有一个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
中找到它们。
有没有人遇到过这样的问题。提前谢谢。
答案 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