SPSS-Python写入CSV – 在Excel中打开时错误的编码
在SPSS中,使用python,我将一个列表列表写入一个csv文件:
begin program. import spss,spssaux, sys, csv, codecs def WriteDim(): MyArray=[some list of lists] for MyVar in MyFile.varlist: MyArray.append([MyVar.name,MyVar.label]) DimFile="DimCSV.csv" with codecs.open(DimFile, "w",encoding='utf8') as output: writer = csv.writer(output, lineterminator='\n') writer.writerows(MyArray) end program.
我在练习中有一些西class牙文字,例如"reparación"
。 如果我在文本编辑器中打开输出文件,一切看起来都不错。 但是,如果我在Excel 2016中打开它,它看起来像这样: "reparación"
。 我需要去数据/从文本导入“,并手动selectUTF编码,但这不是我的SPSS程序的未来用户的选项。
有没有办法编写文件,以便Excel将打开它使用UTF-8编码? 它必须是一个CSV文件 – 在Excel中打开它只是它的一个用法。
你明确地要求codecs.open(DimFile, "w",encoding='utf8')
,后来说你会不要使用utf8。 只需直接使用预期的编码:
with codecs.open(DimFile, "w",encoding='cp1252') as output:
(cp1252是Windows上西class牙文的常用编码)
尽pipeSerge Ballesta的回答对西class牙语来说是完美的,但是我发现encoding='utf-8-sig'
对于我testing过的所有angular色都是最好的。 我觉得应该使用UTF-8,因为它比其他build议的编码更普遍。
感谢这个话题: 用Python编写UTF-8文件