私は現在、以下のコードを使用して6,000のcsvファイル(ヘッダ付き)をインポートし、それらを単一のcsvファイル(ヘッダ行1個)にエクスポートします。複数のcsvファイルを同じヘッダで単一のcsvに連結する -
#import csv files from folder
path =r'data/US/market/merged_data'
allFiles = glob.glob(path + "/*.csv")
stockstats_data = pd.DataFrame()
list_ = []
for file_ in allFiles:
df = pd.read_csv(file_,index_col=None,)
list_.append(df)
stockstats_data = pd.concat(list_)
print(file_ + " has been imported.")
このコードは正常に動作しますが、遅いです。処理には最大2日間かかります。
同じ(ただし、ヘッダーがない)Terminalコマンドラインのための1行のスクリプトが与えられました。このスクリプトは20秒かかります。
for f in *.csv; do cat "`pwd`/$f" | tail -n +2 >> merged.csv; done
どのように私は最初のPythonスクリプトをスピードアップできるか知っていますか?時間を短縮するために、私はそれをDataFrameにインポートせずにCSVを連結することを考えましたが、わかりません。
ありがとうございました。
完璧な答え@ShadowRanger、ありがとう! – mattblack