首页 > 后端开发 > Python教程 > 为什么我的 Python CSV 编写器在 Windows 上添加额外的回车符?

为什么我的 Python CSV 编写器在 Windows 上添加额外的回车符?

Linda Hamilton
发布: 2024-12-07 02:14:11
原创
331 人浏览过

Why Does My Python CSV Writer Add Extra Carriage Returns on Windows?

Python 中的 CSV 在 Windows 上附加额外的回车符

提供的代码片段生成一个带有意外额外回车符的 CSV 文件(r) 每行。而不是所需的输出:

hi,dude
hi2,dude2
登录后复制

文件读取为:

hi,dude\r
\r
hi2,dude2\r
\r
登录后复制

此行为是由于平台特定的行终止处理而出现的。

;Python 3

官方 CSV 文档建议在以下情况下使用 newline=''打开文件以禁用通用换行符翻译:

with open('output.csv', 'w', newline='', encoding='utf-8') as f:
    writer = csv.writer(f)
    # ...
登录后复制

默认情况下,根据 RFC 4180,CSV 编写器以“rn”终止每一行。

Python 2

在 Windows 上,文件应以二进制模式打开(“rb”或“wb”),然后将它们传递给 csv.reader 或 csv.writer。尽管 CSV 是一种文本格式,但相关库将其视为二进制格式,并用“rn”分隔记录。当以文本模式编写时,Python 运行时会将 'n' 替换为 'rn',从而导致观察到额外的回车符。

以上是为什么我的 Python CSV 编写器在 Windows 上添加额外的回车符?的详细内容。更多信息请关注PHP中文网其他相关文章!

来源:php.cn
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
作者最新文章
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板