Stata数据处理:超大Excel文档如何读入

发布时间:2021-03-12 阅读 748

Stata连享会   主页 || 视频 || 推文 || 知乎

温馨提示: 定期 清理浏览器缓存,可以获得最佳浏览体验。

New! lianxh 命令发布了:
随时搜索连享会推文、Stata 资源,安装命令如下:
. ssc install lianxh
使用详情参见帮助文件 (有惊喜):
. help lianxh

课程详情 https://gitee.com/arlionn/Course   |   lianxh.cn

课程主页 https://gitee.com/arlionn/Course

⛳ Stata 系列推文:

作者:王舒瑶 (吉林大学)
邮箱:378807478@qq.com


目录


1. 引言

大家在做研究时可能会遇到这样的困扰:Excel 文档太大(大于 40MB)以至于 Stata 无法读入,出错 Stata 界面如下:

. import excel "E:\Stata连享会\个股回报率.xlsx", sheet("Sheet1") firstrow

. file E:\Stata连享会\个股回报率.xlsx too big

. r(601);

网上也有诸多关于此问题的讨论:

本文结合大家的讨论,给出 4 种解决办法,并提供相应的 Stata 命令和应用建议。

 

2. 四种解决办法

2.1 方法 1:excelxlsxlargefile 命令

执行如下 Stata 命令:

. set excelxlsxlargefile on

. import excel "E:\Stata连享会\个股回报率.xlsx", sheet("Sheet1") firstrow

excelxlsxlargefile 无需安装,是 Stata 自带的程序,直接按照上述命令执行,即可成功导入大于 40MB 的 Excel 文档。

这种方法的好处在于不易出错,但是导入文档的速度相对较慢。

 

2.2 方法 2:转化为 .csv 格式

由于 40MB 的限制是 Stata 针对 Excel 文档的,所以我们可以通过转换文档的格式来试着解决这一问题。具体地,我们可以将 Excel 表格另存为以逗号分隔的 csv 文件,然后导入到 Stata :

. import delimited "E:\Stata连享会\个股回报率.csv", encoding(UTF-8) clear

这种方法的问题在于转化格式过程中有可能出现乱码,但是导入数据的速度相对较快。

  • 注 1:请不要直接修改文档的后缀,而要在 Excel 的另存为页面进行选择,否则易乱码。

  • 注 2:数据中包含中文时,中文里面不要含有逗号,否则 Stata 无法识别这些逗号是数据里的逗号还是 csv 文件自己生成的逗号,从而出现一个变量的数据被拆到两个变量的存储空间中。

 

2.3 方法 3:转化为 .txt 格式

同理,我们也可以将 Excel 表格另存为以制表符分隔的 txt 文件,然后导入到 Stata :

. import delimited "E:\Stata连享会\个股回报率.txt", encoding(GB18030) clear

同样地,这种方法的问题在于转化格式过程中有可能出现乱码,但是导入数据的速度相对较快。

  • 注 1:请不要直接修改文档的后缀,而要在 Excel 的另存为页面进行选择,否则易乱码。

 

2.4 方法 4:直接复制粘贴

我们也可以直接将 Excel 表格里的数据复制粘贴至 Stata 的数据编辑器。注意在 Stata 操作时要使用 编辑模式 而非 浏览模式。可以执行如下命令开启数据框编辑模式:

. clear
. edit

这种方法是所有方法里最快捷的,但是问题在于可能会产生 数据损失(比如小数点后的有效位数)。

 

3. 结论与建议

考虑到在导入数据环节,准确 是最为重要的,所以在上述 4 种方法中,推荐大家使用 第 1 种方法,即导入数据前预先执行如下命令:

. set excelxlsxlargefile on

另外,除了上述介绍的 4 种办法外,还有一些办法可以解决 Excel 文档过大无法导入的问题,只是这些办法的学习成本较高,专业性较强,在此就不多赘述,如果大家感兴趣可以点击下面的推荐阅读。

4. 相关资料

5. 相关推文

Note:产生如下推文列表的 Stata 命令为:
lianxh 导入 调入 普林斯顿
安装最新版 lianxh 命令:
ssc install lianxh, replace

相关课程

免费公开课

最新课程-直播课

专题 嘉宾 直播/回看视频
最新专题 文本分析、机器学习、效率专题、生存分析等
研究设计 连玉君 我的特斯拉-实证研究设计-幻灯片-
面板模型 连玉君 动态面板模型-幻灯片-
面板模型 连玉君 直击面板数据模型 [免费公开课,2小时]
  • Note: 部分课程的资料,PPT 等可以前往 连享会-直播课 主页查看,下载。

课程主页

课程主页

关于我们

  • Stata连享会 由中山大学连玉君老师团队创办,定期分享实证分析经验。
  • 连享会-主页知乎专栏,400+ 推文,实证分析不再抓狂。直播间 有很多视频课程,可以随时观看。
  • 公众号关键词搜索/回复 功能已经上线。大家可以在公众号左下角点击键盘图标,输入简要关键词,以便快速呈现历史推文,获取工具软件和数据下载。常见关键词:课程, 直播, 视频, 客服, 模型设定, 研究设计, stata, plus, 绘图, 编程, 面板, 论文重现, 可视化, RDD, DID, PSM, 合成控制法

连享会主页  lianxh.cn
连享会主页 lianxh.cn

连享会小程序:扫一扫,看推文,看视频……

扫码加入连享会微信群,提问交流更方便

✏ 连享会学习群-常见问题解答汇总:
https://gitee.com/arlionn/WD

New! lianxh 命令发布了:
随时搜索连享会推文、Stata 资源,安装命令如下:
. ssc install lianxh
使用详情参见帮助文件 (有惊喜):
. help lianxh