使用 Python 编写 CSV 文件时,在 Microsoft Excel 中打开生成的文件时,行之间可能会出现空行。本文解决了出现此问题的原因,并提供了抑制多余空行的解决方案。
问题在于 Python 处理 CSV 文件中的行结尾的方式。 csv.writer 模块直接控制行结尾,默认情况下它会在文件中附加回车符 (r) 和换行符 (n),从而导致 Excel 中出现额外的空行。
对于 Windows 系统,必须使用 newline='' 参数以未翻译文本模式打开 Python 文件。此参数告诉 Python 不要将默认的换行符 (n) 转换为 Windows 特定的换行符序列 (rn)。
使用 with 语句:
with open('/pythonwork/thefile_subset11.csv', 'w', newline='') as outfile: writer = csv.writer(outfile)
使用路径模块:
from pathlib import Path with Path('/pythonwork/thefile_subset11.csv').open('w', newline='') as outfile: writer = csv.writer(outfile)
对于 Python 2,请使用二进制模式打开输出文件('wb'),因为它会阻止 Python 翻译行结尾。
with open('/pythonwork/thefile_subset11.csv', 'wb') as outfile: writer = csv.writer(outfile)
以上是如何防止在 Excel 中打开的 Python 生成的 CSV 文件中出现空行?的详细内容。更多信息请关注PHP中文网其他相关文章!