语境
我收到了大约 1700 个 97-2003 excel 文件,其中包含大量数据,包括一些文本信息。在清理并运行一些统计分析之前,我试图将它们全部读入 Stata。但是,Stata 无法打开它们。这些文件具有 .xls 格式,其中包含我想要保留的大量文本,并将它们转换为 .csv 文件(因此是 csv 标记)。
我试过的
- 仔细一看,每次我在 Excel 中手动打开文件时,都会出现错误“格式与扩展名不匹配”,我必须单击“仍然打开”并手动保存,然后才能将文件导入 Stata。我不可能对 1700 个文件执行此操作。我使用的是 Windows 操作系统,所有文件都本地保存在我的驱动器上。
我还尝试在 stata 上编写大量代码,以将所有文件保存为 csv 或至少一个可以导入 stata 的 xls,但我的运气为零。每次我尝试保存它们时,我都会收到一个损坏的 csv 或一个带有完全相同的错误的 xls,当我手动尝试打开文件时,在 stata 上弹出“尝试 xlCreateBook()”和“格式与扩展名不匹配”错误.
作为参考,下面是我写的stata代码。
cd "$dropbox\project8\data\2008-2009\A.Monthwise\dakota"
local oldfiles : dir "." files "*.xls" , respectcase
mac list _oldfiles
foreach fn of local oldfiles {
local oldfn `"`fn'"'
local res = ustrregexm(`"`oldfn'"', "_(.*)\.xls", .)
if `res'==1 {
local newfn = "new_" + ustrregexs(1) + ".dta"
di `"Renaming `oldfn' to `newfn'"'
copy `"./`oldfn'"' `"./new/`newfn'"', public
}
}
问题
有没有办法可以解决 1700 个文件的扩展/格式问题并批量转换所有内容,以便 Stata 可以读取它?