久久国产成人av_抖音国产毛片_a片网站免费观看_A片无码播放手机在线观看,色五月在线观看,亚洲精品m在线观看,女人自慰的免费网址,悠悠在线观看精品视频,一级日本片免费的,亚洲精品久,国产精品成人久久久久久久

分享

如何用 Stata 批量讀取多張工作表的 Excel 文件

 張春強2022 2017-01-03

文章來源:小花經(jīng)濟學(xué)術(shù)公眾號  已獲得授權(quán)

今天給大家推送一個很實用的技巧,,用 Stata 批量讀取多張工作表的 Excel 數(shù)據(jù)文件,。

假設(shè)我們在名為 “Stata 讀取多張表” 的文件夾下,有一個名為“stata.xlsx”的 Excel 數(shù)據(jù)文件,。

假設(shè)我們有 N 個這樣的 Excel 數(shù)據(jù)文件。像這樣:

然后每一個 Excel 文件中有這樣的表格:

每張表的 sheet 名稱是不一樣的,,比如第一張叫:stata1,;第二張叫 Stata_2;第三張表叫 stATA_+3,。每一張表里面的范圍也可能不盡相同,。

怎么用 stata 批量讀取呢,?一般地,我們會用 import excel 命令讀取 excel 文件,,通過 help import excel, 我們可以看到它的基本用法:

 

1. Load an Excel file


clear

set more off

cd c:\users\admin\desktop\Stata讀取多張表\

import excel using stata.xlsx

*讀取 excel 文件,,默認讀取第一張表格,結(jié)果如下:

import excel age name using stata.xlsx ,clear

*讀取 excel 文件,,讀取第一張表格中 age name 變量,,結(jié)果如下:

import excel using stata.xlsx, sheet(stata1) firstrow clear

*讀取 excel 文件,通過sheet 選項讀取名為“stata1”的表格中,,通過firstrow 選項把工作表中的第一行當成變量名讀入,。結(jié)果如下:

import excel using stata.xlsx, sheet(stata1) firstrow cellrange(A1:C5) clear

*讀取excel文件,通過sheet選項讀取名為“stata1”的表格中,,通過firstrow選項把工作表中的第一行當成變量名讀入,通過cellrange 選下把 A1:C5 范圍的數(shù)據(jù)讀入,。結(jié)果如下:


2. Describe contents of an Excel file

 

import excel using stata.xlsx , describe

描述 Excel 文件的概況,比如:

我們可以看到,,這個 Excel 文件有 3 張表格,,還能看見它每張表格的數(shù)據(jù)范圍。

我們在命令窗口輸入:return list ,。我們可以看到:

Excel 文件的每一張工作表的情況都被一一儲存到 Macro 里了,。這將是我們需要用到的原料。

面對繁瑣重復(fù)的工作,,我們首先應(yīng)該想到的是能不能把這項工作程序化,,讓程序通過循環(huán)功能幫我們快速完成工作。

于是:

import excel using stata.xlsx, describe

forvalues s =1/`r(N_worksheet)' {

import excel using stata.xlsx, ///

sheet(`r(worksheet_`s')') ///

cellrange(`r(range_`s')') ///

firstrow clear

save newstata`s'.dta, replace

}

clear

forvaluess = 1/`r(N_worksheet)' {

append using newstata`s'.dta

}

save stata_all.dta,replace

我們可以看到 3 張表就合并過來了,!

那么怎么把Stata讀取多張表文件夾下的所有 Excel 都讀進呢,?有兩種方法:

 

1. dir


*把所有文件夾下所有擴展名為 xlsx 的文件名存進 local files 里:

local files: dir '.' file '*.xlsx'

foreach file in `files'{

import excel using '`file'', describe

    forvalues s = 1/`r(N_worksheet)' {

            import excel using '`file'',   ///

            sheet(`r(worksheet_`s')')   ///

            cellrange(`r(range_`s')')    ///

            firstrow clear

            save newstata`s'.dta, replace

        }  

              clear

  forvalues s = 1/`r(N_worksheet)' {

           append using newstata`s'.dta                

        }

            save '`file'_all.dta',replace

    }  


 

2. fs 命令


ssc install fs

fs *.xlsx

我們可以看到,所有的擴展名為 xlsx的文件名都被保存進來了,,那么我們寫個循環(huán)把上面的處理單個 stata.xlsx 的循環(huán)嵌套進來:

fs *.xlsx 

foreach file in `r(files)' {

    import excel using '`file'', describe

    forvalues s = 1/`r(N_worksheet)' {

            import excel using '`file'',   ///

            sheet(`r(worksheet_`s')')   ///

            cellrange(`r(range_`s')')    ///

            firstrow clear

            save newstata`s'.dta, replace

        }  

              clear

  forvalues s = 1/`r(N_worksheet)' {

           append using newstata`s'.dta                

        }

            save '`file'_all.dta',replace

    }   

 



以上就是今天分享的推文內(nèi)容了,。此外,小編還要宣布一個好消息:

stata培訓(xùn)哪家強,?的搜尋結(jié)果

1個回答-

提問時間:2017年1月2日

[最佳回答] 親愛的stata愛好者,,您好。

爬蟲俱樂部是一個專注解決stata各種疑難雜癥的公眾號,,深受大家喜愛,。該公眾號即將舉辦線下stata培訓(xùn),技術(shù)大牛親手教你stata,,趕緊戳開獨家Stata技術(shù)培訓(xùn),,千呼萬喚始出來報名吧!

EmmaWatson   9999……999條好評



  

接下來報告空氣質(zhì)量

全國空氣質(zhì)量如下
也不說誰最差了

比抽SSR還難

都是難兄難弟,,大家都保重


以上就是今天給大家分享的內(nèi)容了,,說得好就賞個銅板唄,!有錢的捧個錢場,有人的捧個人場~,,點贊打賞隨您心意,,么么噠~

應(yīng)廣大粉絲要求,爬蟲俱樂部的推文公眾號打賞功能可以開發(fā)票啦,,累計打賞超過1000元我們即可給您開具發(fā)票,,發(fā)票類別為“咨詢費”。用心做事,,只為做您更貼心的小爬蟲,。第一批發(fā)票已經(jīng)寄到各位小主的手中,大家快來給小爬蟲打賞呀~


編輯 by梅潔瓷傲?



    本站是提供個人知識管理的網(wǎng)絡(luò)存儲空間,,所有內(nèi)容均由用戶發(fā)布,,不代表本站觀點。請注意甄別內(nèi)容中的聯(lián)系方式,、誘導(dǎo)購買等信息,,謹防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,,請點擊一鍵舉報,。
    轉(zhuǎn)藏 分享 獻花(0

    0條評論

    發(fā)表

    請遵守用戶 評論公約

    類似文章 更多