stata命令详解-import(export) excel

1. 前言

在目前工作中,用stata清洗及分析数据,感觉很顺滑。无奈不少同学因为help文件里的英文望而却步。
带着学习和分享的目的,根据工作经验,给大家整理一些常用以及不太常用但很有用的命令,并对该命令的help文件进行有侧重的详解。

2. 命令及获取

import(export) excel:导入(导出)excel文件,系统自带命令

3. 描述

  • import excel: 导入excel数据至stata软件。
  • import excel filename, describe :显示excel文件中每个sheets(工作表)的数据范围。
  • export excel:将数据保存为excel文件。
    • 上述三个命令可运用于.xls和.xlsx文件。
  • import excelexport excel
    • 在windows,mac和linux系统上均支持。
    • 如果导入和导出的filename没有加扩展名,则默认为.xls.
      • 例如,import excel auto先检索导入auto.xls,再检索导入auto.xlsx。
    • import excel限制导入的.xlsx文件大小,不超过40M,如果文件太长,导入时间会较长。

4. 语法

*导入excel文件
import excel [using] filename [, import_excel_options]

*导入excel文件中的部分变量(字段)
import excel extvarlist using filename [, import_excel_options]

*描述excel文件中每个sheets(工作表)的数据范围
import excel [using] filename, describe

*导出数据为excel文件
export excel [using] filename [if] [in] [, export_excel_options]

*保存部分变量(字段)的数据为excel文件
export excel [varlist] using filename [if] [in] [,
                                export_excel_options]

  • [,]:中括号里的为额外选项命令,按需求添加,而添加选项记得加英文逗号,
  • filename(文件名):如果语法中只有文件名,则默认文件格式为.dta;如果文件名中有空格,记得用双引号""将该目录名字括起来。

5. 选项

  • import_excel_options 的选项
    • sheet("sheetname"):添加该选项,导入特定的工作表,工作表名称为sheetname。不添加该选项,默认导入第一个工作表。最短可缩写成sh("sheetname")
    • cellrange([start][:end]):添加该选项,指定导入工作表中的数据范围,例如,cellrange(A1:C23)。最短可缩写成cellra([start][:end])
    • firstrow:添加该选项,指定excel数据中的第一行为变量名。①本选项不能在import excel extvarlist using filename中使用。②若通过cellrange([start][:end])指定了导入数据的范围,则加firstrow后指定数据范围的第一行为变量名。③import excel会将第一行转为stata有效的变量名(如以A,B,C等命名),原数据内容则变为变量标签。最短可缩写成first
    • case(preserve|lower|upper):添加该选项,结合选项firstrow,可以对第一行的英文变量名进行大小写转换。不添加该选项,则默认保持原样。例如,excel中的字段名为Ab,添加选项case(preserve)后,stata中变量名为Ab,最短可缩写成case(pre);添加选项case(lower)后,stata中变量名为ab,最短可缩写成case(l);添加选项case(upper)后,stata中变量名为AB,最短可缩写成case(u)
    • allstring:添加该选项,强制导入的excel文件中的所有数据都转为字符串型数据。最短可缩写成all
    • clear:添加该选项,使得在导入excel文件前清除现在内存中的数据。
    • local(“locale”):结合命令import excel使用,但不显示在对话框中。添加该选项,指定工作簿使用的语言环境。 可能会在使用扩展的ASCII字符集时需要此选项。此选项对Microsoft Windows无效。 默认语言环境是UTF-8。
  • export_excel_options的选项
  • 主要选项
    • sheet(“sheetname”):添加该选项,保存excel数据至指定工作表,工作表名称为sheetname。如果名为sheetname的工作表不存在,则新建名为sheetname的工作表。如果不添加该选项,则默认保存至excel文件中的第1个工作表。最短可缩写成sh("sheetname")
    • cell(start):添加该选项,指定保存的数据开始的位置。若不添加该选项,则默认从第一行第一列开始存数据。
    • sheetmodify:添加该选项,导出数据至excel时,数据范围外的单元格内容不改变。本选项不能和sheetreplace或者replace结合使用。最短可缩写成sheetmod
    • sheetreplace:添加该选项,在导出数据至excel前,将excel的工作表中的内容清除。本选项不能和sheetmodify或者replace结合使用。最短可缩写成sheetrep
    • firstrow(variables|varlables):添加firstrow(variables)选项,指定导出excel数据的第一行为变量名,最短可缩写成firstrow(var)。;添加firstrow(varlables)选项,指定导出excel数据的第一行为变量标签,最短可缩写成firstrow(varl)
    • nolabel:添加该选项,导出excel数据时,数值型数据以数值展示,而不是值标签展示。最短可缩写成nol
    • replace:添加该选项,替换现有的excel文件。本选项不能和sheetmodify或者sheetreplace结合使用。
  • 高级选项
    • datestring("datetime_format"):添加该选项,导出所有日期时间型变量时,以日期时间格式的字符串形式展现。最短可缩写成date
    • missing("repval"):添加改选项,导出excel数据时,将缺失值以 repval 展示,repval自定义,可以是数值也可以是字符串。最短可缩写成miss
    • local(“locale”):结合命令export excel使用,但不显示在对话框中。添加该选项,指定工作簿使用的语言环境。 可能会在使用扩展的ASCII字符集时需要此选项。此选项对Microsoft Windows无效。 默认语言环境是UTF-8。

6. 举例

*调入数据auto.dta
webuse auto
调入数据.png
*导出数据为auto.xls,将变量名作为第一行的字段名
export excel auto, firstrow(variables)
导出数据.png
*导入auto.xls文件数据,同时清除现有内存数据,将第一行作为变量名
import excel auto.xls, firstrow clear
*查看数据情况
describe
导入数据.png
*导入auto.xls文件数据,同时清除现有内存数据,将第一行作为变量名,而且导入数据范围为A1:D70,即导入前4列数据
import excel auto.xls, cellrange(:D70) firstrow clear
*查看数据情况
describe
导入部分数据.png
*调入数据auto.dta
webuse auto, clear
*导出数据为auto.xls,不包括变量名
export excel auto.xlsx
导出.xlsx数据.png
*导出指定变量数据至auto.xls,并替换现有auto.xls数据
export excel make mpg weight using auto, replace

导出指定变量数据.png

7. 菜单

*导入excel

File > Import > Excel spreadsheet (.xls;.xlsx)

*导出excel

File > Export > Data to Excel spreadsheet (.xls;.xlsx)

8. 存储的结果

import excel filename, describe存储如下结果:

  • r(N_worksheet):excel文件中的工作表的数量
  • r(worksheet_#):excel文件中第#个工作表的名字
  • r(range_#):excel文件中第#个工作表的数据范围

9. 补充

  • 导入和导出文件可考虑第一次通过点击菜单实现,保存好语法,之后再用就可以直接修改了。
  • 实例:
  • 批量导出数据
*按照yxmc(院校名称)字段情况,导出不同院校的数据
*将变量yxmc的值存至暂元level中
levelsof yxmc,local(level)
*循环level中的值
foreach x of local level {
*preserve和restore之间的操作可恢复
preserve
*保留yxmc为level中的值的数据
keep if yxmc=="`x'"
*导出excel数据至D:\excel\分院校-`x'.xlsx,其中,`x'为level中的值,并且将变量标签作为第一行字段名,数值型数据以数值展示,而不是值标签。
export excel using D:\excel\分院校-`x'.xlsx, firstrow(varlabels) nolabel
restore
}

  • 一次性导入多个Excel
*将目标文件夹设定为工作路劲
cd D:\excel
*用暂元files提取所有后缀为xlsx的文件名
local files: dir "." file "*.xlsx" 
*循环files,按原文件名保存成dta文件
foreach file in `files'{
import excel using "`file'", firstrow case(lower) clear
save "`file'.dta",replace  
    }  
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 205,236评论 6 478
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 87,867评论 2 381
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 151,715评论 0 340
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 54,899评论 1 278
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 63,895评论 5 368
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,733评论 1 283
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 38,085评论 3 399
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,722评论 0 258
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 43,025评论 1 300
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,696评论 2 323
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,816评论 1 333
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,447评论 4 322
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 39,057评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 30,009评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,254评论 1 260
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 45,204评论 2 352
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,561评论 2 343

推荐阅读更多精彩内容