python - csv.Dictwriter 文本输出在 Excel 中未正确解析

标签 python excel csv

我正在使用 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 方言,但输出没有任何变化。谢谢!

最佳答案

您可以使用 Excel 的文本导入向导,可通过以下位置访问:

  1. (2007 年起)“数据”选项卡 >“获取外部数据”>“从文本”

  2. (2007 年之前)“数据”菜单 >“导入外部数据”>“导入数据”

这允许您在步骤 3 中为文件中的每一列指定类型,并将其设置为“文本”而不​​是“常规”可以避免出现问题。

关于python - csv.Dictwriter 文本输出在 Excel 中未正确解析,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20475953/

相关文章:

java - 优化 hashmap 中的搜索时间

c++ - 了解在具体示例中使用 getilne

python - 展平字典时处理自引用

python - 很长的I/O进程能否由线程处理

excel - 当我在 Excel 中将其向下拖动时,单元格上的公式会发生变化

excel - 条件格式增加颜色

python - 使用 matplotlib 的时间序列中的自定义日期范围(x 轴)

python - 将图像从 Python 传递到 MATLAB 函数

xml - 翻译xml文件中的字符串

csv - AWS Glue Crawler 无法提取 CSV header