gpt4 book ai didi

python - 如何阻止 Python 的 csv.DictWriter.writerows 在 Windows 中的行之间添加空行?

转载 作者:可可西里 更新时间:2023-11-01 13:50:46 26 4
gpt4 key购买 nike

当我在 Windows 上使用 Python 的 csv.DictWriter.writerows 时,行之间会添加空换行符。我该如何阻止它?该代码在 Linux 上运行良好。

最佳答案

  • 在 Python 2 中:始终以二进制模式打开文件; csv.DictWriter() 写入 \r\n 行结尾:

    with open(filename, 'ab') as outputfile:
    writer = csv.DictWriter(outputfile, fieldnames)

    来自csv.writer() documentation :

    If csvfile is a file object, it must be opened with the ‘b’ flag on platforms where that makes a difference.

  • 在 Python 3 中:使用 newline='' 打开文件,这样 csv.DictWriter() 就可以控制没有翻译的换行符:

    with open(filename, 'a', newline='') as outputfile:
    writer = csv.DictWriter(outputfile, fieldnames)

    再次引用相关的csv.writer() documenation :

    If csvfile is a file object, it should be opened with newline=''

    [ ... ]

    If newline='' is not specified, newlines embedded inside quoted fields will not be interpreted correctly, and on platforms that use \r\n linendings on write an extra \r will be added. It should always be safe to specify newline='', since the csv module does its own (universal) newline handling.

关于python - 如何阻止 Python 的 csv.DictWriter.writerows 在 Windows 中的行之间添加空行?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22361787/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com