Stata连享会 主页 || 视频 || 推文 || 知乎 || Bilibili 站
温馨提示: 定期 清理浏览器缓存,可以获得最佳浏览体验。
New!
lianxh
命令发布了:
随时搜索推文、Stata 资源。安装:
. ssc install lianxh
详情参见帮助文件 (有惊喜):
. help lianxh
连享会新命令:cnssc
,ihelp
,rdbalance
,gitee
,installpkg
⛳ Stata 系列推文:
作者:王珞嘉 (厦门大学)
邮箱:ljwang@stu.xmu.edu.cn
目录
统计年鉴是学术研究中最重要的数据来源之一。常用的数据收集方法有下载光盘版解压和知网下载。较之知网,光盘版的数据更完整,并且没有密码保护,允许直接编辑和导入 Stata。而知网使用文本识别进行数据整理,可能存在小数点变逗号等识别错误的情况。尽管光盘版准确性更高,但知网作为最便利的数据源,在无法找到光盘版数据时是我们的最优选择。
知网统计年鉴的下载路径为:中国知网首页
注:本文的操作实例来源为《中国能源统计年鉴2019》的表格「6-1 北京能源平衡表 (实物量)-2018」和「6-2 天津能源平衡表 (实物量)-2018」。
知网下载的 xls 数据有文件保护,会限制我们进行数据编辑和数据导入。当我们打开下载的 xls 格式统计数据进行编辑时,Excel 就会弹出无法编辑的提示。
当我们尝试通过命令将表格「6-1 北京能源平衡表 (实物量)-2018」导入 Stata 时, Stata 会提示无法导入。
. import excel using "2021_5_25 18_01_57_N2020120303000100.xls", firstrow clear
file 2021_5_25 18_01_57_N2020120303000100.xls could not be loaded
r(603);
此时,只需几个小技巧,我们就能快速将被保护的数据导入 Stata, 以便进行下一步的数据整理工作。
将被保护的数据导入 Stata 的方法有很多,本节将列举几种常见方法。
打开文件保护的 xls 格式数据,另存为 csv 格式。打开另存的 csv 格式数据会发现可以编辑和导入了。此方法的缺点是只能储存 sheet 1 中的数据 (另存为数据时会弹出如下提示框),对本文实例中的多工作表数据并不适用。
手动另存为费时费力,Stata 命令 xlstocsv
能够快速实现 xls/xlsx 至 csv 的批量转换。使用该方法,后续的数据整理工作需移至 csv 格式或 Stata 环境中进行。
xlstocsv
命令安装:
net install xlstocsv.pkg, from(https://gitee.com/kerrydu/clearpsdinexcel/raw/master) replace
help xlstocsv
当转换单个文件时,具体语法如下:
xlstocsv pathtoxlsx[pathtoxls] , [todir(pathforcsv) first]
pathtoxlsx[pathtoxls]
:待转换的 xls/xlsx 文件的具体路径;options
有以下设定:
todir(pathforcsv)
:指定存储 csv 文件的路径;如缺省,则在 path 的父路径中生成 CSV 文件夹;first
:只转换 xls/xlsx 文件中的第一个工作表。当批量转换文件夹中全部文件时,使用下面的语法:
xlstocsv directory , [todir(pathforcsv) first]
directory
:待转换 xls/xlsx 文件所在文件夹的具体路径;options
:与转换单个文件的语法一致。此外,在命令窗口中输入 xlstocsv
可直接实现菜单式操作。如下图注释中操作,即可实现转换 (如操作中遇到困难,可参考后文中有关 dxls/txls 命令菜单栏操作的详细流程)。
VBA 宏代码适用于较简单的密码破解。打开文件保护的 xls 格式数据,按住 Alt + F11 打开 VBA 操作窗口,依次选择插入
通过百度等搜索引擎搜索 “VBA破解代码”,将代码完整复制到打开的模块窗口,按 F5 运行。
运行完成后,关闭 VBA 操作窗口,回到 Excel 界面,此时就可以对数据直接编辑和导入了。VBA宏代码的缺点是只能破解简单的密码,且每次只能完成单个数据文件的解除。
本文重点推介 dxls
和 txls
这两个导入密码保护文件的 Stata 外部命令。这些命令能够轻松完成对单个数据或文件夹内多个数据的处理,突破了 csv 方法和 VBA 宏方法的限制。dxls
和 txls
命令分别利用 VBA 宏和 VBS 的方法完成文件的导入,二者的主要区别如下:
dxls
命令处理后的文件将覆盖原文件,txls
命令处理后生成新文件;dxls
命令处理的文件可以直接在 Excel 中编辑,txls
命令处理后新生成的文件不可以;txls
命令可以完成 xlsx 格式和 xls 格式的相互转换;txls
命令的运行速度更快。二者均适用于知网数据的密码保护问题,读者可根据数据处理需求,择优选用。下面简单介绍这两个命令的安装和使用。打开 Stata ,在命令窗口输入以下命令并运行,即可完成 dxls
命令安装 (请保证安装时网络畅通)。
net install dxls.pkg, from(https://gitee.com/kerrydu/clearpsdinexcel/raw/master)
在命令窗口输入 dxls
并运行,在弹出的窗口中,按照下图所示选择需处理的文件 (或文件夹) ,点击 OK 。
完成处理后,Excel 工作界面会弹出如下对话框,点击确定并关闭 Excel (关闭时选择保存或不保存均可),重新打开原来被保护的数据,可以发现可以对数据进行编辑和导入等操作了。
注:选择批量处理文件夹时,有时需在弹出的 Excel 中启用编辑,Stata 才会继续处理。
txls
命令的安装和使用都与 dxls 命令类似。打开 Stata ,在命令窗口输入以下命令并运行,即可完成安装 (请保证安装时网络畅通)。
net install txls.pkg, from(https://gitee.com/kerrydu/clearpsdinexcel/raw/master)
在命令窗口输入 txls
并运行,在弹出的窗口中,按照下图所示选择需处理的文件 (或文件夹),点击 OK 。
运行完成后,在原文件 (或文件夹) 所在路径,会出现如下名为 xlsx 的新文件夹,点击进入该文件夹,就可以看到处理后新生成的数据。
复制新数据所在位置,并执行以下命令:
. import excel "C:\Users\WLJ\Downloads\xlsx\2021_5_25 18_01_57_N2020120303000100.xlsx", clear //双引号内替换为新文件的所在位置
可以看到,此时文件夹中的数据可以导入 Stata 了。除了菜单式操作,我们还可以通过代码实现文件保护的解除。dxls
或 txls
命令的基本语法与前文介绍的 xlstocsv
类似。
*转换单个文件
dxls pathtoxlsx[pathtoxls]
txls pathtoxlsx[pathtoxls], [todir(pathforcsv) xls]
*转换整个文件夹
dxls directory
txls directory, [todir(pathforcsv) xls]
因 dxls
和 txls
命令的语法高度相似,本节仅演示 txls
命令。
我们需要事先从知网下载两个以上 xls 格式的数据文件,即「6-1 北京能源平衡表 (实物量)-2018」和「6-2 天津能源平衡表 (实物量)-2018」,然后将两个文件放入名为 Energy 的文件夹。
首先,尝试单个文件的转换:
. txls "C:\Users\Downloads\Energy\2021_10_20 10_56_47_N2020120303000100.xls"
上述命令运行完毕后,我们在 Energy 文件夹中能够找到存放新数据的子文件夹 xlsx,此时可在 Stata 中顺利导入新数据:
. import excel "C:\Users\Downloads\Energy\xlsx\2021_10_20 10_56_47_N2020120303000100.xlsx", sheet("1-2")
现在,尝试文件夹内数据的批量转换:
. txls "C:\Users\Downloads\Energy"
上述命令产生的新数据仍然放在 Energy 下的子文件夹 xlsx 中 (如下图),此时文件夹中的全部数据都可在 Stata 中顺利导入。
还可以使用 todir
选项将新文件放入指定路径。运行如下代码将新生成文件放入指定路径中名为 helloworld 的文件夹中。
. txls "C:\Users\Downloads\Energy", todir("C:\Users\Downloads\helloworld")
本文介绍了解决知网统计数据密码保护的几种方法。更推荐使用 dxls
和 txls
命令,因为它们不但能够批量解除保护,还兼具方便的菜单式操作和简单的命令语法,是整理统计年鉴数据的 “神器”。
Note:产生如下推文列表的 Stata 命令为:
lianxh 导入 导出 格式, m
安装最新版lianxh
命令:
ssc install lianxh, replace
免费公开课
最新课程-直播课
专题 | 嘉宾 | 直播/回看视频 |
---|---|---|
⭐ 最新专题 | 文本分析、机器学习、效率专题、生存分析等 | |
研究设计 | 连玉君 | 我的特斯拉-实证研究设计,-幻灯片- |
面板模型 | 连玉君 | 动态面板模型,-幻灯片- |
面板模型 | 连玉君 | 直击面板数据模型 [免费公开课,2小时] |
⛳ 课程主页
⛳ 课程主页
关于我们
课程, 直播, 视频, 客服, 模型设定, 研究设计, stata, plus, 绘图, 编程, 面板, 论文重现, 可视化, RDD, DID, PSM, 合成控制法
等
连享会小程序:扫一扫,看推文,看视频……
扫码加入连享会微信群,提问交流更方便
✏ 连享会-常见问题解答:
✨ https://gitee.com/lianxh/Course/wikis
New!
lianxh
和songbl
命令发布了:
随时搜索连享会推文、Stata 资源,安装命令如下:
. ssc install lianxh
使用详情参见帮助文件 (有惊喜):
. help lianxh