我正在使用csv.DictWriter输出在Excel中使用的字典列表。缩小到只有一个键/值对,它看起来像这样:
from csv import DictWriter
results = [{'symbol': '00287Y10',
{'symbol': '03073E10'},
{'symbol': '03783310'}]
with open('results.csv','wb') as outfile:
ordered_fieldnames = ['symbol']
writer = DictWriter(outfile, dialect='excel', fieldnames=ordered_fieldnames)
writer.writeheader()
writer.writerows(results)
问题是excel不能解释为文本。将所有数字转换为数字,以E10结尾的符号将被解析为科学记数法:
symbol
00287Y10
3.07E+13
3783310
所以我从其他帖子的理解是你不能在csv库中指定excel中的特定数字格式,但有没有解决方法以便Excel将符号统一解析为文本字段?我想这样做而不用为搜索目的更改字段的值。另请注意我已尝试使用不同的分隔符和引用级别而不是excel方言,但看不到输出的变化。谢谢!
答案 0 :(得分:2)
您可以使用Excel的文本导入向导,可从以下位置访问:
(2007年起)数据标签>获取外部数据>来自文本
(2007年之前)数据菜单>导入外部数据>导入数据
这允许您在步骤3中为文件中的每个列指定类型,并将其设置为“文本”而不是“常规”可以避免出现问题。