【发布时间】:2011-12-28 19:18:18
【问题描述】:
我正在尝试使用真正与 Excel 兼容的 python 创建一个 csv 文件(我使用的是 Excel 2007,如果这有什么不同的话)。
这是我正在尝试做的事情
import csv
data = [ ['9-1', '9-2', '9-3'] ]
fd = open('test.csv', 'wb')
try:
writer = csv.writer(fd, dialect='excel', quotechar='"', quoting=csv.QUOTE_ALL)
writer.writerows(data)
finally:
fd.close()
这将创建一个包含以下内容的 csv 文件:
"9-1","9-2","9-3"
当我在 Excel 中加载它时,我得到了列:
09-Jan 09-Feb 09-Mar
[Grrr,谢谢 Excel。说真的,引号的意义何在?]
现在,我有 read elsewhere,为了让 Excel 将字符串视为文字,它们必须以等号 ="Like This" 为前缀。所以我真正想要制作的是:
="9-1",="9-2",="9-3"
有没有办法用 python 中的csv 模块做到这一点?我猜这将涉及创建一个custom dialect,但我看不到任何可以给我想要的结果的变量。
【问题讨论】: