【问题标题】:Eliminating blank gap row after row [duplicate]逐行消除空白间隙[重复]
【发布时间】:2017-02-03 20:55:48
【问题描述】:

我想逐行消除空白!请参阅图片以获得更好的概述。代码有什么问题?记事本格式似乎很好,而从 excel 中查看时,每个条目都会出现空格,包括标题输入后的第一次

【问题讨论】:

  • 这里是python 2.7
  • 即使您的问题已解决,请务必查看重复的问题,阅读已接受的答案,了解为什么会发生这种情况。此外,如果 Leuthus 的回答对您有帮助,请点赞他的回答并将其标记为已接受。

标签: python python-2.7


【解决方案1】:

取决于您使用的 python 版本:

# Python 2
with open('/pythonwork/thefile_subset11.csv', 'wb') as outfile:
    writer = csv.writer(outfile)

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

致谢:https://stackoverflow.com/a/3348664/5415084

因此,总而言之:python 3 在使用w 参数时需要一个额外的参数newline='',而python 2 在打开文件时需要wb 参数。

【讨论】:

  • 这里是python 2.7
  • 你试过上面描述的吗?它对你有用吗?
  • 我只是在 wb with open("sample_data.csv") as f, open("out.csv", "w") as out: 中添加了“b”,但是错误返回 Traceback(最近一次调用最后一次):文件“C:\Users\xxxx\Desktop\Function 6 - still in progress.py” ,第 7 行,在 next(reader) StopIteration
  • "sample_data.csv" 需要打开"rb" 而不是"wb"
  • @KaelTee:您的"sample_data.csv" 是空白的,因为在之前运行您的程序时,它已打开以供写入 (with open("sample_data.csv", "wb") as f)。因此,当您调用 next(reader) 时,没有下一行,因为文件中没有行。打开文件进行写入会覆盖现有文件。