【发布时间】:2016-02-05 15:35:22
【问题描述】:
我有一个包含许多 csv 文件的文件夹,例如“利兹 dz.csv”、“利兹 gh.csv”、“利兹 fr.csv”。文件名的第一部分是不变的(即总是“leeds”)。
我想分别将每个导入 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 文件以删除“leeds”部分,即如果每个 .csv 都被命名为“dz.csv”而不是“leeds dz.csv”等,则代码可以正常工作。
但是,如果我不执行此删除操作,我会收到错误“invalid 'dz.csv'”
我猜这与我的第三行代码有关,尤其是“*.csv”。但我不确定如何调整代码/为什么它不允许我导入名称中带有空格的文件?
【问题讨论】: