用python编写csv文件时如何将数字写成文本

2024-10-01 15:45:52 发布

您现在位置:Python中文网/ 问答频道 /正文

import csv
a = ['679L', 'Z60', '033U', '0003']
z = csv.writer(open("test1.csv", "wb"))
z.writerow(a)

考虑上面的代码

输出:

^{pr2}$

我需要把它的文本格式本身作为

676L   Z60   033U   0003

如何做到这一点。在


Tags: csv文本格式代码importopenwriterwbtest1
1条回答
网友
1楼 · 发布于 2024-10-01 15:45:52

Pythoncsv模块在编写文件时不将字符串视为数字:

>>> import csv
>>> from StringIO import StringIO
>>> a = ['679L', 'Z60', '033U', '0003']
>>> out = StringIO()
>>> z = csv.writer(out)
>>> z.writerow(a)
>>> out.getvalue()
'679L,Z60,033U,0003\r\n'

如果您在阅读时在其他工具中看到3,那么您需要修复该工具;Python在这里没有错。在

您可以指示csv.writer()在任何不是数字的地方加上引号;这样可以使CSV中的任何内容都更清楚该列不是数字。将quoting设置为^{}

^{pr2}$

但这并不妨碍Excel将列视为数值。在

如果要将其加载到Excel中,则不要使用打开功能。相反,请创建一个新的空工作表并使用导入功能。这将允许您将列指定为Text而不是General。在

相关问题 更多 >

    热门问题