我编写了一个程序,用于生成要上传到网站的unicode文本文件。我已经使用Microsoft Access成功构建了这个特定文件的原型,并注意到如果文件被编码为utf-8文件,网站将拒绝该文件而不是unicode文本文件。从文本编辑器(使用Windows记事本),如果我只使用下拉框中的unicode编码保存文件,我上传的网站接受该文件就好了。
因此,考虑到这个背景,我编写了一个使用pandas和DataFrames自动生成文件的程序。我的程序的最后一行将DataFrame导出到文本文件:
coa1.to_csv('0000-2951-test.txt',index=False, sep='\t', encoding = 'utf-8')
这会生成正确的文件,但是当我在记事本中打开它时,列出的编码是ANSI而不是unicode。如何将我的DataFrame写入unicode文件?记事本用Unicode表示什么样的unicode(当它没有任何其他限定符时)?
答案 0 :(得分:4)
“unicode”不是一种特殊的编码,而是一组编码。它可以是utf-8,utf-16,utf-32。 more detailed explanation
在Windows中,unicode通常意味着utf-16,并且本网站可能需要utf-16。尝试在utf-16中对你的csv进行编码,看看它是否是记事本中的“unicode”,本网站接受它。coa1.to_csv('0000-2951-test.txt',index=False, sep='\t', encoding = 'utf-16')
编辑我建议使用更合适的文本编辑器进行原型设计,而不是使用Windows记事本,这样可以精确设置编码。我会使用Sublime或Notepad ++