gpt4 book ai didi

Python csv writer 错误的分隔符?

转载 作者:太空狗 更新时间:2023-10-29 17:40:31 32 4
gpt4 key购买 nike

免责声明:我在欧洲。

根据 this page Excel 使用分号 ; 作为欧洲的默认分隔符,以“防止与小数点逗号发生冲突”。

现在,我有了这段 Python 代码:

import csv

data = [["test", "data"], ["foo", "bar"]]
writer = csv.writer(open("data.csv", "wb"), dialect="excel")
writer.writerows(data)

哪个应该生成这个文件:

test;data
foo;bar

而是使用逗号。为什么会这样? locale.getdefaultlocale() 返回 ('nl_NL', 'cp1252')

最佳答案

这是因为 csv.excel 方言不支持区域设置。如果您希望明确使用分号作为分隔符,那么您需要将分隔符显式传递给 csv.open as

writer = csv.writer(open("data.csv", "wb"), delimiter=";")

或者创建一个新的方言并注册

class excel_semicolon(csv.excel):
delimiter = ';'
register_dialect("excel-semicolon", excel_semicolon)

无论哪种情况,您都应该测试 float 的书写方式……我怀疑它们不会以您想要的欧洲格式书写(以逗号作为基数)

关于Python csv writer 错误的分隔符?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7423869/

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