编码错误读取Stata文件,read_stata()不接受编码参数Python。

4

首先我尝试简单地读取文件。

import pandas as pd
my_data = pd.read_stata('filename.dta')

然后它返回了以下错误:

UnicodeDecodeError: 'utf-8' codec can't decode byte 0xe9 in position 68: invalid continuation byte

我尝试添加一个编码参数,例如'latin''iso8859-1',但它会返回以下错误

TypeError: read_stata() got an unexpected keyword argument 'encoding'

查看 pandas 1.0.1 文档得知,read_stata() 方法不支持编码参数。


嗨,Ricardo,你找到解决办法了吗? - undefined
1个回答

0
对于面临相同问题的任何人,一个解决方案是使用pyreadstat库来加载文件(它提供了在数据框或字典中加载文件的选项,参见output_format参数):
import pyresadstat
df, meta = pyreadstat.read_dta('yourfile.dta', encoding='utf-8)
meta变量包含元数据(变量标签映射等)。您甚至可以通过在read_dta()调用中设置apply_value_formats=True来加载未转换的值。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接