Stata 如何在循环中使用"file"导出分隔文件



我正在导入文件夹中的dta文件,并将每个文件导出到csv文件。我不知道为什么,但循环不会保存文件。这是代码:

global path "file path"
cd "${path}"
* Geocodes for edd
clear
local files: dir "${path}DataMeasureData" files "*_edd.dta"
*do loop to bridge file for EDD and 
foreach file in `files' {
use "${path}Data/MeasureData/`file'", clear
rename beafips edd_id
merge m:1 edd_id using DataTempDatabridge_edd.dta
keep if _merge==3
drop _merge
export delimited "${path}DataOutgoingData`file'.csv", replace

}

我一直收到这样的错误:

文件文件路径\Data\OutgoingData.csv已保存

我本来希望它保存为filepath\Data `file'.csv。我做错了什么?

之所以会发生这种情况,是因为Windows默认在路径目录中使用反斜杠,但在这种情况下,您的计算机将反斜杠读取为转义符,因此不会将`解释为指示本地files的开头。

这个问题通常不会出现在Mac/Linux机器上,因为它们默认在目录路径中使用斜杠。

因此,解决方案是将代码中的所有更改为/。有关该问题的更详细描述,请参见此处:https://journals.sagepub.com/doi/pdf/10.1177/1536867X0800800310

相关内容

最新更新