首页 >后端开发 >Python教程 >为什么我的 Python 生成的 CSV 文件的行之间有空行?

为什么我的 Python 生成的 CSV 文件的行之间有空行?

Patricia Arquette
Patricia Arquette原创
2024-12-14 15:14:11479浏览

Why Do My Python-Generated CSV Files Have Blank Lines Between Rows?

Python 生成的 CSV 文件行间有空行

使用 Python 的 csv 模块编写 CSV 文件并遇到额外的空行时,就会出现此问题在 Microsoft 中打开结果文件时,每条记录之间Excel.

原因:

csv.writer 模块直接控制行结尾并将“rn”插入文件中。在 Python 3 中,应使用参数“w”、newline='' 以未翻译文本模式打开文件,以防止在 Windows 上写入“rrn”,其中默认文本模式将每个“n”翻译为“rn”。

解决方案:

Python 3:

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

带路径库的 Python 3:

from pathlib import Path
import csv

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

Python 2:

打开二进制模式下的 outfile 用 'wb' 而不是'w':

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

注意:

  • 在 Python 2 中,将 Unicode 字符串写入 CSV 需要额外的解决方法。
  • unicodecsv 模块提供了在 Python 2 中处理 Unicode 的替代方案。
  • 有关文档,请参阅答案中提供的链接。

以上是为什么我的 Python 生成的 CSV 文件的行之间有空行?的详细内容。更多信息请关注PHP中文网其他相关文章!

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn