将 pandas DataFrame 写入 unicode 文本文件时出现问题
problems writing a pandas DataFrame into a unicode text file
我写了一个程序来生成一个 unicode 文本文件上传到一个网站。我已经使用 Microsoft Access 成功地制作了这个特定文件的原型,并且注意到如果该文件被编码为 utf-8 文件,该网站会拒绝该文件,因为它不是 unicode 文本文件。在文本编辑器(使用 Windows 记事本)中,如果我仅使用下拉框中的 unicode 编码保存文件,我上传到的网站就可以接受该文件。
因此,考虑到这种情况,我编写了一个程序来使用 pandas 和数据帧自动生成文件。我程序的最后一行将 DataFrame 导出到文本文件:
coa1.to_csv('0000-2951-test.txt',index=False, sep='\t', encoding = 'utf-8')
这会生成正确的文件,但是当我在记事本中打开它时,列出的编码是 ANSI 而不是 unicode。如何将我的 DataFrame 写入 unicode 文件?记事本中的 Unicode 指的是什么类型的 Unicode(当它没有任何额外的限定符时)?
"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')
EDIT 我建议不要使用 Windows 记事本,而是使用更合适的文本编辑器来制作原型,这样可以精确设置编码。我会使用 Sublime 或 Notepad++
我写了一个程序来生成一个 unicode 文本文件上传到一个网站。我已经使用 Microsoft Access 成功地制作了这个特定文件的原型,并且注意到如果该文件被编码为 utf-8 文件,该网站会拒绝该文件,因为它不是 unicode 文本文件。在文本编辑器(使用 Windows 记事本)中,如果我仅使用下拉框中的 unicode 编码保存文件,我上传到的网站就可以接受该文件。
因此,考虑到这种情况,我编写了一个程序来使用 pandas 和数据帧自动生成文件。我程序的最后一行将 DataFrame 导出到文本文件:
coa1.to_csv('0000-2951-test.txt',index=False, sep='\t', encoding = 'utf-8')
这会生成正确的文件,但是当我在记事本中打开它时,列出的编码是 ANSI 而不是 unicode。如何将我的 DataFrame 写入 unicode 文件?记事本中的 Unicode 指的是什么类型的 Unicode(当它没有任何额外的限定符时)?
"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')
EDIT 我建议不要使用 Windows 记事本,而是使用更合适的文本编辑器来制作原型,这样可以精确设置编码。我会使用 Sublime 或 Notepad++