2013-09-30 168 views
2

我有一個.csv文件的文件夾,總大小爲6 GB。 我想自動將這個文件夾中的所有數據插入到Stata中。從文件夾加載.csv文件

搜索網,我已經找到了一些解決方案,如:

cd "E:\myfolder" 

. insheet using "file1.csv" 

. save "a", replace 


. local satafiles: dir . files "*.csv" 

. foreach file of local satafiles { 
    2. append using "a" 
    3. save "myfile.dta", replace 
    4. } 

但如果我探索導入的數據,我在所有條目相同的日期值。 有沒有人有Stata導入數據的經驗?

+0

「a」只是調用字符串a;用倒勾取代第一個引號,用倒勾取代第二個引號(由於Markdown語法,我無法顯示它)。在文件路徑有空格的情況下,在其周圍添加雙引號以保護字符串。更多在'幫助當地'。 –

回答

3

這是重複的,因爲您只是多次添加「a」,即您的第一個數據集。試試這個:

cd "E:\myfolder" 

clear 
local satafiles: dir . files "*.csv" 

foreach file of local satafiles { 
    preserve 
    insheet using `file',clear 
    save temp,replace 
    restore 
    append using temp 
} 
*remove the temporary .dta file 
rm temp 

save alldata, replace 

注意,如果文件變得太大,你可以在insheet命令後做一些節省空間的格式。

+0

Stata數據有一行代碼:'fornumlist 1/100:使用「E:\ myfolder \ mydata \ fileX.dta」'追加。但是,我很驚訝這不適用於csv文件 – Metrics