でのキャプチャについて:http://www.ats.ucla.edu/stat/stata/faq/append_many_files.htmは、私はほとんどここから取ったコード(下段)はStataの
clear
file open myfile9 using C:\Users\RNCZF01\Documents\Cameron-Fen\Economics-Projects\Neighborhood-Project\list.csv, read
file read myfile9 line
insheet using `line', comma
save `line'.dta, replace
save master_data.dta, replace
drop _all
file read myfile9 line
while r(eof)==0 {
capture insheet using `line', comma
if _rc!=0 {
insheet using `line', comma
save `line'.dta, replace
append using master_data.dta, force
save master_data.dta, replace
}
drop _all
file read myfile9 line
}
をもともと私は(それがフォーマットに干渉したため、私はラインの前に戻ってダニを取り除い)insheet using line', comma
を持っていました。しかし、問題は、私が読もうとしていたシートの一部が空白であったため、スタータが閉じてしまうことでした。
capture insheet using `line', comma
if _rc!=0 {
insheet using `line', comma
しかし、これは(whileループ(第2の文書)の最初の反復が行われる前に、whileループにして終了)のみ最初の文書を読んだ後閉じます。したがって、私はこれにすることを変更しました。マクロを使用するとマクロが消えるかもしれないと思っていましたが、わかりません。
Stata 13または14をお持ちの場合は、 'insheet'ではなく' import delimited'を使用してください。新しいコマンドははるかに柔軟です。 – lmo
また、 'if _rc == 0'が必要なのは、' insheet'中にエラーが発生しなかったことを示しているからです。 – lmo
@lmpは 'import delimited'を推奨しています。マクロを使用しても、マクロは消えません。それ以外の場合は、オペレーティングシステムを使って空のファイルを調べてみてはどうでしょうか? –