簡體   English   中英

在 Stata 中執行導入循環時,Excel 文件的擴展名仍然存在

[英]Extension of Excel files remains when doing an import loop in Stata

我不明白為什么在運行以下簡單代碼時,我的文件被保存為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()函數提取string的相關部分。

要使用正確的名稱save文件,只需使用save ,而不是display

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM