Practice makes perfect
文献集锦
如何理论创新?
管理学理论集锦
Python实际应用
聚类标准误与固定效应
巫师3:狂猎
Stata应用技巧
Python知识与技巧
双重差分法(DID)
创新文献阅读与摘要
计量经济学
Python绘图相关
如何读取.dta文件
type
status
date
slug
summary
tags
category
icon
password
网址
作者
标签
文章链接
发布时间
来源
在 Python 中,可以使用
pandas 库或 pyreadstat 库来读取 Stata 的 .dta 文件。以下是两种方法的示例:方法 1:使用 pandas(推荐)
pandas 提供了 read_stata() 函数,可以直接读取 .dta 文件:参数说明
convert_dates=True(默认):自动转换日期变量。
convert_categoricals=True(默认):将 Stata 的分类变量转为 pandas 的category类型。
preserve_dtypes=True(默认):尽量保持 Stata 的数据类型。
columns=None:可选,指定要读取的列名列表。
index_col=None:可选,指定索引列。
示例(带参数)
方法 2:使用 pyreadstat(适用于大文件或特殊编码)
pyreadstat 是一个更高效的库,特别适合处理大型 .dta 文件或需要更精细控制的情况:参数说明
apply_value_formats=True:是否应用 Stata 的标签(如分类变量的值标签)。
encoding="latin1":指定编码(某些旧版 Stata 文件可能需要)。
usecols=["var1", "var2"]:只读取指定变量。
示例(带参数)
如何选择?
- 一般情况:直接用
pandas.read_stata(),简单方便。
- 大数据或特殊需求:用
pyreadstat,速度更快,支持更多格式选项。
- 中文乱码问题:如果遇到中文乱码,可以尝试:
注意事项
- Stata 版本:
pandas默认支持 Stata 13-15 格式,较新的 Stata 17 文件可能需要更新库。如果报错,尝试:
- 分类变量:如果 Stata 文件包含带标签的分类变量,
pandas会自动转为category类型。
- 缺失值:Stata 的缺失值(如
.,.a,.b)会被转为NaN。
读取大型dta文件并逐个保存为xlsx文件
如果dta文件过大,想逐个拆分并保存为xlsx文件,代码如下
Prev
Python中的enumerate函数详解
Next
针对DataFrame的切片操作
Loading...