为了账号安全,请及时绑定邮箱和手机立即绑定

用Python编写的CSV文件在每一行之间都有空行。

用Python编写的CSV文件在每一行之间都有空行。

红颜莎娜 2019-06-10 21:04:25
用Python编写的CSV文件在每一行之间都有空行。import csvwith open('thefile.csv', 'rb') as f:   data = list(csv.reader(f))   import collections   counter = collections.defaultdict(int)   for row in data:         counter[row[10]] += 1with open('/pythonwork/thefile_subset11.csv', 'w') as outfile:     writer = csv.writer(outfile)     for row in data:         if counter[row[10]] >= 504:            writer.writerow(row)这段代码读thefile.csv,进行更改,并将结果写入thefile_subset1.但是,当我在MicrosoftExcel中打开结果CSV时,在每个记录之后都会有一个额外的空行!有没有办法使它不加额外的空行?
查看完整描述

3 回答

?
子衿沉夜

TA贡献1828条经验 获得超3个赞

简单的答案是csv文件应始终以二进制模式打开。无论是输入还是输出,与Windows上的情况一样,行结束都会出现问题。特别是在输出时,csv模块将编写\r\n(标准CSV行终止符),然后(在文本模式下)运行时将替换\n通过\r\n(Windows标准行终止符)给出了\r\r\n.

摆弄lineterminator不是解决办法。


查看完整回答
反对 回复 2019-06-10
?
三国纷争

TA贡献1804条经验 获得超7个赞

以二进制模式打开文件“WB”不会在Python 3+中工作。或者说,您必须在编写数据之前将数据转换为二进制数据。那只是个麻烦。

相反,您应该将它保持在文本模式中,但将换行符重写为空。就像这样:

with open('/pythonwork/thefile_subset11.csv', 'w', newline='') as outfile:


查看完整回答
反对 回复 2019-06-10
  • 3 回答
  • 0 关注
  • 1478 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信