【发布时间】:2017-01-07 08:15:58
【问题描述】:
将数据保存到 csv,data.to_csv('csv_data', sep=',', encoding='utf-8', header= False, index = False) 时,它会在 csv 文件的末尾创建一个空白行。
你如何避免这种情况?
它与line_terminator有关,默认值为n,用于换行。
有没有办法指定line_terminator以避免在末尾创建一个空行,或者我需要读取csv文件,删除空行并保存它?
不熟悉熊猫。我们将不胜感激您的帮助,在此先感谢!
【问题讨论】:
-
在最后一行的末尾换行是很标准的。为什么这是个问题?
-
csv 文件将被另一个脚本使用,并且不能接受空行或多余的空格,脚本会中断。我无权访问这些脚本。目前我正在复制数据,将其粘贴到 vim 中,每次都删除最后一行。我想尽可能地自动化它。
-
如果你传递
None作为文件名,pandas返回一个字符串对象。s = data.to_csv(None, sep=',')例如。您可以直接将s[:-1]写入文件。我不确定编码虽然。可以试试吗? -
@medev21 结果是 csv。您可以使用 vanilla Python 将其简单地写入文件。
-
是的,juanpa 是正确的,它是 csv。您可以使用
open('test.txt', 'w').write(s[:-1])写入文件