Stata foreach循环正在运行但未给出结果

Stata foreach循环正在运行但未给出结果,stata,Stata,我在运行foreach循环时遇到问题。循环运行时没有错误,但没有输出。有人能告诉我他们认为可能发生了什么吗?非常感谢 代码如下: cd "O:\RESEARCH\ikhilko\Subway Big Data project" local datafiles : dir . files "*.txt" foreach file in `datafiles' { insheet using `file', clear insheet using `file', drop v9-v43 sav

我在运行foreach循环时遇到问题。循环运行时没有错误,但没有输出。有人能告诉我他们认为可能发生了什么吗?非常感谢

代码如下:

cd "O:\RESEARCH\ikhilko\Subway Big Data project"
local datafiles : dir . files  "*.txt"

foreach file in `datafiles' {
insheet using `file', 
clear
insheet using `file',
drop v9-v43
save date1, replace
}
更新:


有趣的是,当我只是在命令行中输入代码而不是在.do文件中输入代码时,代码就会运行,你知道那里会发生什么吗?

一些调试代码<代码>显示本地
数据文件的内容
以查看循环中的内容:

local datafiles : dir . files "*.txt"
display `"`datafiles'"'

local wordx : word 1 of `datafiles'
display `"`wordx'"'

foreach file in `datafiles' {
    display "`file'"
}

(注释部分中的代码格式不好。)

需要注意的是,
local
宏正是这样定义的,即仅在本地可见

本地指在

同一互动会议

同样的程序

同一do文件(或do文件编辑器内容)

通过选择执行的do文件的相同部分(或…)


地方似乎在这里咬着你。在一个位置定义的本地宏在另一个位置不可见。如果宏不可见,则本地宏引用将计算为缺失,即空字符串

显示本地
数据文件的内容
以查看循环中的内容。执行此操作时,请使用双引号将您的本地文件括起来(请参阅
帮助引号
)。为什么要在表中填写两次?如果您不使用选项,为什么
会出现在行尾?您的本地计算机似乎是空的。(你应该在你的帖子中复制准确的输出。我们没有你的pc/dir/文件。)罗伯托:谢谢你,本地文件看起来是这样的:。显示“数据文件”旋转栅门_100724.txt旋转栅门_100626.txt旋转栅门_100703.txt旋转栅门_100710.txt旋转栅门_100717.txt并运行您的命令给出以下信息。显示
wordx'”旋转栅门\u 100724。谢谢尼克,这就是我错过的!我不知道这其中的逻辑,但只要仔细阅读,它就会完全按照你说的那样运行。非常感谢。