-1
我有一個含有多個的CSV文件,例如文件夾「leeds dz.csv」,「leeds gh.csv」,「leeds fr.csv」。文件名的第一部分是恆定的(即總是「利茲」)。導入的.csv文件並保存爲.dta
我想每個單獨導入到Stata的,轉換爲.dta文件和save
它。目前,我有這樣的代碼:
cd "etcetc"
clear
local myfilelist : dir . files"*.csv"
foreach file of local myfilelist {
drop _all
insheet using `file', comma
local outfile = subinstr("`file'",".csv","",.)
save "`outfile'", replace
}
的代碼工作正常,如果我手動重命名所有的.csv文件刪除「利茲」的一部分,也就是說,如果每個.csv被命名爲「dz.csv」,而不是「利茲dz.csv」等
但是,如果我不這樣做刪除我收到錯誤‘無效‘dz.csv’’
我猜這事做與我的代碼3號線,特別是「* .csv」。但我不確定如何修改代碼/爲什麼它不允許我導入名稱中有空格的文件?
通過拖拽多個幫助文件以及問題的原始聲明,表明在執行代碼以追蹤其執行之前,您並不知道使用'set trace on'和'set tracedepth 1'來允許您在這種情況下縮小了發出錯誤消息的命令的範圍。 – 2016-02-08 00:39:04
之前沒有遇到'設置tracedepth 1' - 方便的提示,謝謝! –