我开发了一个生成CSV文件的脚本。在检查文件时,有些单元格的解释不是我想要的。。你知道吗
例如,在我的python列表中,“02e4”的值被自动格式化为2.00E+04。你知道吗
table = [['aa02', 'fb4a82', '0a0009'], ['02e4, '452ca2', '0b0004']]
ofile = open('test.csv', 'wb')
for i in range(0, len(table)):
for j in range(0, len(table[i]):
ofile.write(table[i][j] + ",")
ofile.write("\n")
这给了我:
aa02 fb4a82 0a0009
2.00E+04 452ca2 0b0004
我试过用csv.writer文件相反,其中writer = csv.writer(ofile, ...)
并从lib中给出属性(例如csv.QUOTE\u全部)... 但它的输出和以前一样。。你知道吗
有没有一种方法可以使用CSV lib在写入之前自动将所有值格式化为字符串?你知道吗
或者这是不可能的?你知道吗
谢谢
尝试将csv writer中的quoting参数设置为
csv.QUOTE_ALL
。 有关详细信息,请参见doc:尽管听起来问题可能出在csv查看器上。Excel有一个很烦人的习惯,就是像你描述的那样自动格式化数据。你知道吗
如果希望“02e4”在excel中显示为“02e4”,那么令人恼火的是,您必须用三个双引号编写csv:“02e4”。我不知道如何使用csv writer,因为它将引号字符限制为一个字符。但是,您可以做一些类似于您最初尝试的事情:
如果在文本编辑器中打开,csv文件将显示:
这将在Excel中生成以下结果:
如果您想使用任何单字符引号,您可以使用csv模块,如下所示:
文本编辑器中的输出将是:
Excel将显示:
相关问题 更多 >
编程相关推荐