我正在尝试在python中创建一个欧洲格式的csv。我已经将分隔符设置为分号
writer = csv.writer(response, delimiter=';', quoting=csv.QUOTE_ALL)
但是,这仍然使用点.
作为小数点分隔符。使用逗号的正确方法是什么,这对我的语言环境是否正确?
我似乎无法找到任何方式在文档中设置它。 (我正在使用,并且更愿意坚持使用内置的csv
模块)
修改 这被标记为重复,但链接的问题涉及阅读而不是写作。我找不到有关写作的答案。这些主题(略有但重要)不同。
答案 0 :(得分:5)
有点hacky方式,但它是我能想到的最好的:将浮点数转换为字符串并将.
替换为,
:
def localize_floats(row):
return [
str(el).replace('.', ',') if isinstance(el, float) else el
for el in row
]
for row in rows:
writer.writerow(localize_floats(row))
如果您想要更好的本地化处理,我建议您使用babel.numbers
包转换所有数字。