免责声明:我在欧洲。
根据这一页 http://www.paessler.com/knowledgebase/en/topic/2293-i-have-trouble-opening-csv-files-with-microsoft-excel-is-there-a-quick-way-to-fix-thisExcel 使用分号;
作为欧洲的默认分隔符,以“防止与小数逗号发生冲突”。
现在,我有这个 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 作为
writer = csv.writer(open("data.csv", "wb"), delimiter=";")
或者创建一个新的方言并注册它
class excel_semicolon(csv.excel):
delimiter = ';'
register_dialect("excel-semicolon", excel_semicolon)
无论哪种情况,您都应该测试如何编写浮点数...我怀疑它们不会以您想要的欧洲格式编写(以逗号作为基数)
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)