使用pandas read_stata()函数时,汉字都会变得乱码

时间:2015-08-10 07:21:04

标签: python pandas stata

我正在尝试使用python pandas包读取Stata .dta文件,使用read_stata()函数,并且dta文件中包含许多中文字符。读入的文件都是混乱的代码,中文字符都只是乱码。有什么建议吗?

1 个答案:

答案 0 :(得分:3)

您需要指定要使用的编解码器,默认是将您的文本解码为ISO-8859-1(Latin-1):

pandas.read_stata(filename, encoding=codec_to_use)

请参阅pandas.read_stata() documenation

  

编码字符串,无或编码
  用于解析文件的编码。请注意,Stata不支持unicode。 None默认为iso-8859-1。

对于中文,我所使用的编解码器是gb*编解码器(gb18030gbkgb2312 )或UTF编解码器(UTF-8UTF-16UTF-32)。尽管上面是熊猫的文件中的评论,我看到了Stata 14 supports Unicode now,并且他们使用了UTF-8。

另请参阅Standard Encodings page以获取受支持编解码器的概述。