gpt4 book ai didi

python - csv.writerows() 在每一行之后放置换行符

转载 作者:太空狗 更新时间:2023-10-29 22:06:38 27 4
gpt4 key购买 nike

这是来自 O'Reilly Cookbook 的示例(截断的数据集)

headers = ['Symbol','Price','Date','Time','Change','Volume']
rows = [{'Symbol': 'AA', 'Volume': 181800, 'Change': -0.18,
'Time': '9:36am', 'Date': '6/11/2007', 'Price': 39.48},
{'Symbol': 'AIG', 'Volume': 195500, 'Change': -0.15,
'Time': '9:36am', 'Date': '6/11/2007', 'Price': 71.38} ]

with open('stocks2.csv','w') as f:
f_csv = csv.DictWriter(f, headers)
f_csv.writeheader()
f_csv.writerows(rows)

输出文件在每一行的末尾都有一个\n,显然最后还有一个。当我将它导入 Excel 时,每行之间都有空行。用Notepad++打开也是一样。

但是,如果我从命令行more\n 不会显示。

我看到另一个关于文件末尾的 \n 的问答 - 但这个是关于每行末尾的 \n 的。 (而且我不明白为什么 more 没有给出 \n。)

我打算将该文件导入 OpenOffice Calc。

最佳答案

此问题仅在 Windows 上的 Python 中出现。

在 Python v3 中,您需要在 open 调用中添加 newline='' per:

Python 3.3 CSV.Writer writes extra blank rows

在 Python v2 上,在传递给 csv 之前,您需要在 open() 调用中使用“b”将文件打开为二进制文件

换行

with open('stocks2.csv','w') as f:

到:

with open('stocks2.csv','wb') as f:

会解决问题

有关此问题的更多信息:

CSV in Python adding an extra carriage return, on Windows

关于python - csv.writerows() 在每一行之后放置换行符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30929363/

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