gpt4 book ai didi

excel - 在 Stata 中执行导入循环时,Excel 文件的扩展名仍然存在

转载 作者:行者123 更新时间:2023-12-03 03:21:51 26 4
gpt4 key购买 nike

我不明白为什么在运行以下简单代码时我的文件被保存为 xxx.xls.dta 而不是 xxx.dta 以及如何修复那。

clear all
cd "C:\Users\User\Documents\PhD\Research\Data\acqua_costiera"
global RawAcqua "C:\Users\User\Documents\PhD\Research\Data\acqua_costiera"

local acquacost : dir "C:\Users\User\Documents\PhD\Research\Data\acqua_costiera" files "*.xls", respectcase

foreach f of local acquacost {
import excel using "$RawAcqua\\`f'", cellrange(B4:N43310) firstrow clear
save "`f'.dta", replace
}

我尝试过在线查看其他类似的代码,但我真的不明白我的错误是什么。

我正在循环该目录中的所有文件,但这些文件被命名为“acqua_costiera_`year'”,所以我想其他一些循环也可能有效。

最佳答案

使用以下玩具示例可以轻松说明您的问题:

local acquacost one.xls two.xls three.xls

foreach f of local acquacost {
display "`f'.dta"
}

one.xls.dta
two.xls.dta
three.xls.dta

您需要告诉 Stata 仅保留文件名,而不保留扩展名:

foreach f of local acquacost {
display "`= substr("`f'", 1, strpos("`f'", ".") - 1)'.dta"
}

这里我使用strpos()函数来获取第一个句点的位置,然后使用它作为引用点来提取字符串的相关部分substr() 函数。

要使用正确的名称保存文件,只需使用save,而不是display

关于excel - 在 Stata 中执行导入循环时,Excel 文件的扩展名仍然存在,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50077451/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com