查看原文
其他

Excel文件太大,不能导入Stata?

爬虫俱乐部 Stata and Python数据分析 2022-03-15

本文作者:王凯丽

本文编辑:张    宇

技术总编:司海涛

爬虫俱乐部将于2019年1月19日至25日在武汉举行两期Stata编程技术定制培训,此次采取初级班和高级班分批次培训模式,采用理论与案例相结合的方式,旨在帮助大家熟悉Stata核心的爬虫技术,以及Stata与其他软件交互的高端技术。详细培训大纲及报名方式,请见往期推文《2019寒假Stata编程技术定制培训班》。报名表下载请点击文末阅读原文呦~

Excel文件在Stata中可以通过import excel命令导入,但是import excel命令在性能上有不足之处:导入的Excel文件不得超过40MB。否则,程序就会报错。比如笔者手头有一份从CSMAR数据库下载的资产负债表,其大小为41.0MB。

使用import excel将文件导入Stata:

clear
import excel using "E:\Excel\资产负债表.xlsx",firstrow clear

结果如下图所示:

可以看到,报错信息为导入的文件太大了。那么我们应该如何在Stata中导入大于40M的Excel文件呢?下面笔者将介绍两种方法来解决这个问题。

1.转化文件格式

在Stata中,import delimited命令可以导入用制表符和逗号分隔的文件,且没有大小的限制。因此,我们可以将资产负债表另存为以制表符分隔的文本文件或者以逗号分隔的csv文件。如下图所示:

接下来,我们用import delimited命令导入这两个文件,看是否可行。通过查看文件的编码格式,我们发现“资产负债表.txt”文件为ANSI编码,ANSI表示window系统上的地区化编码,在欧洲就是ISO-8859-1编码,在日本应该是JIS编码等,不同的国家地区,就会对应不同的编码规范。在中文操作系统下,ANSI就对应中文编码,常见的中文编码有gb2312、GBK、gb18030,我们在推文《识得庐山真面目—转码方法总结》中已经讲过,gb18030收录的汉字、 中文字符等囊括了GBK和gb18030,所以在设置文件的编码时,汉字的编码最好设置为gb18030。

import delimited命令后的encoding选项我们可以添加“gb18030”来指定导入的文本文件的编码格式。

通过下面的程序我们分别在Stata中导入“资产负债表.txt”和“资产负债表.csv”两个文件,最后的结果显示文件导入正常。

import delimited using "E:\Excel\资产负债表.txt",encoding("gb18030") clear
import delimited using "E:\Excel\资产负债表.csv",encoding("gb18030") clear

爬虫俱乐部是您身边的科研助手,能够为您在数据处理实证研究中提供帮助。承蒙30000+粉丝的支持与厚爱,我们在腾讯课堂推出了网络视频课程,专注于数据整理、网络爬虫、循环命令编制和结果输出…李老师及团队精彩地讲解,深入浅出,注重案例与实战,让您更加快速高效地掌握Stata技巧及数据处理的精髓,而且可以无限次重复观看,百分百好评,简单易学,一个月让您从入门到精通。绝对物超所值!观看学习网址:https://ke.qq.com/course/286526?tuin=1b60b462,敬请关注!



2.添加设置

我们接下来介绍的方法会更加简单和方便,只需要在原来的程序前添加一行程序就可以完成大小超过限制的Excel文件的导入。程序如下:

set excelxlsxlargefile on
import excel using "E:\Excel\资产负债表.xlsx",firstrow clear

结果如下图所示:

通过设置,我们成功将超过文件大小限制的Excel文件导入了Stata。这是因为这个设置使得import excel命令避开了文件大小限制的检查。

如果你的Excel文件在使用”import excel using...”命令导入Stata时出现了”file too big”的错误,那就赶紧添加”set excelxlsxlargefile on”试试吧!

今天的小技巧你get到了嘛,如果你有更有趣、更好玩、更简便的小技巧赶紧跟我们来分享吧!

有问题,不要怕!访问 

http://www.wuhanstring.com/uploads/5_aboutus/爬虫俱乐部-用户问题登记表.docx (复制到浏览器中)下载爬虫俱乐部用户问题登记表并按要求填写后发送至邮箱statatraining@163.com,我们会及时为您解答哟~

爬虫俱乐部的github主站正式上线了!我们的网站地址是:https://stata-club.github.io,粉丝们可以通过该网站访问过去的推文哟~

爬虫俱乐部隆重推出数据定制及处理业务,您有任何网页数据获取及处理方面的难题,请发邮件至我们邮箱statatraining@163.com,届时会有俱乐部高级会员为您排忧解难!

对爬虫俱乐部的推文累计打赏超过1000元我们即可给您开具发票,发票类别为“咨询费”。用心做事,只为做您更贴心的小爬虫!

往期推文推荐

关于我们

微信公众号“爬虫俱乐部”分享实用的stata命令,欢迎转载、打赏。爬虫俱乐部是由李春涛教授领导下的研究生及本科生组成的大数据分析和数据挖掘团队。


此外,欢迎大家踊跃投稿,介绍一些关于stata的数据处理和分析技巧。

投稿邮箱:statatraining@163.com

投稿要求:
1)必须原创,禁止抄袭;
2)必须准确,详细,有例子,有截图;
注意事项:
1)所有投稿都会经过本公众号运营团队成员的审核,审核通过才可录用,一经录用,会在该推文里为作者署名,并有赏金分成。
2)邮件请注明投稿,邮件名称为“投稿+推文名称”。
3)应广大读者要求,现开通有偿问答服务,如果大家遇到关于stata分析数据的问题,可以在公众号中提出,只需支付少量赏金,我们会在后期的推文里给予解答。

您可能也对以下帖子感兴趣

文章有问题?点此查看未经处理的缓存