Excel无法打开Python生成的CSV文件

我有很多输出CSV文件的Python脚本。 在Excel中打开这些文件有时很方便。 安装OS X Mavericks之后,Excel将不再正确打开这些文件:Excel不会parsing文件,而是复制文件的行直到内存不足。 特别是,当Excel试图打开该文件时,出现提示读取:“文件未加载完全。

我用来生成CSV文件的代码示例:

import csv with open('csv_test.csv', 'wb') as f: writer = csv.writer(f) writer.writerow([1,2,3]) writer.writerow([4,5,6]) 

即使上述代码生成的简单文件也无法在Excel中加载。 但是,如果我在文本编辑器中打开CSV文件并将文本复制/粘贴到Excel中,请将文本parsing为列,然后从Excel保存为CSV,然后可以在Excel中重新打开CSV文件而不会出现问题。 我是否需要在脚本中传递一个额外的参数来使Excel以与之前相同的方式parsingCSV文件? 或者有什么设置可以在OS X Mavericks或Excel中更改? 谢谢。

可能的解决scheme1:使用* .txt而不是* .csv。 在这种情况下,Excel(至less2010)将显示一个导入数据向导,您可以在其中指定分隔符,字符编码,字段types等。

UPD:解决scheme2:python“csv”模块有一个“方言”function。 例如,下面的代码修改会为我的环境(Python 2.7,Excel 2010,Windows7,带有“;”列表分隔符的语言环境)生成有效的csv文件:

 import csv with open('csv_test2.csv', 'wb') as f: csv.excel.delimiter=';' writer = csv.writer(f, dialect=csv.excel) writer.writerow([1,2,3]) writer.writerow([4,5,6]) 

也许我有类似的问题,当打开python自动生成的csv文件时,错误消息“SYLK:文件格式无效”。 解决scheme真的很有趣。 前两个字符不能是大写( ID )的ID 打开文件时,请参阅“SYLK:文件格式无效”错误消息 。