2017-01-03 7 views
1
df1 = pd.read_table('CUSR0000SS62031.csv', sep=',') 
df2 = pd.read_table('CUUR0000SS62031.csv', sep=',') 
df3 = pd.read_table('CUSR0000SERA02.csv', sep=',') 
df4 = pd.read_table('CUUR0000SERA02.csv', sep=',') 
df5 = pd.read_table('CUUR0000SEFR02.csv', sep=',') 

今、私はファイル名の配列を持っている場合、私は自動化することができます...どのように私は一度にマルチスレッドのcsvファイルをPythonで読むことができますか?

を私は、CSVファイルをロードするために、このようなコードを書いています....しかし、それはコードを生成するために時間がかかりますwhile/forループを持つコードの上に?おかげさまで、私は試しましたが、df1の名前を自動的にnに変更する方法もわかりません...ありがとう!!変数名を生成

+0

「すぐに」それらを読むには、Pythonの優れた 'マルチプロセッシング'ライブラリを見てみましょう。これは高度なトピックですが、同時に複数のプロセスを同時に実行してCSVファイルを同時に読むことができ、現代のマルチコアCPUを活用して、すばやく実稼動させることができます。 –

+0

ありがとう!絶対私の目を開く! –

+0

@DanFarrellここでは、ディスクI/Oが主要なボトルネックであるため、マルチプロセッシングがここに何かを追加するかどうかはわかりませんが(複雑さ)。まあ、ベンチマークが必要です。 –

答えて

2

は良いアイデアではありませんが、素敵な代替手段として、あなたはリスト内包であなたのデータフレームを作成することができます。

df_list = [pd.read_table(f,sep=',') for f in ['CUSR0000SS62031.csv','CUUR0000SS62031.csv','CUSR0000SERA02.csv','CUUR0000SERA02.csv','CUUR0000SEFR02.csv']] 

、インデックス(例:df_list[1])で、あなたのデータフレームにアクセスしたり、Aにループ:

for dfx in df_list: 
    # do something with dfx pd.dataframe object 
+0

Merci Beaucoup !!! –

関連する問題