2017-09-30 11 views
1

data_run1_all.csv,data_run2_all.csv、...、data_run10_all.csvという10のCSVファイルがあります。 CSVファイルの列は同じですが、行は異なります。パンダを使用してループ内のCSVファイルを読み取る

df_run1df_run2、...、df_run10に1つずつインポートしています。 ループを使用してインポートすることはできますか?次のようなもの:i=1 to 10, df_runi=pandas.read_csv('data_runi_all.csv')

各データフレームのデータ解析、プロットなども同じであるのでお伺いします。各データフレームのすべてのコードが10回繰り返されます。ループを使って10回行うことができれば、コードははるかに短く読みやすくなります。

答えて

2

は、ループ内であなたのCSVを読み、pd.concatを呼び出す:

file_name = 'data_run{}_all.csv' 
df_list = [] 
for i in range(1, 11): 
    df_list.append(pd.read_csv(file_name.format(i)) 

df = pd.concat(df_list) 

また、あなたが理解内部のリストを作成できます。

file_name = 'data_run{}_all.csv' 
df = pd.concat([pd.read_csv(file_name.format(i)) for i in range(1, 11)]) 
0

あなたがdf_runリストを作成する必要があります。

df_run = [] 
for i in range(1,10): 
    df_run.append(pandas.read_csv('data_run{0}_all.csv'.format(i)) 
for df in df_run: 
    // Do your processing 

すべてのことを1つのループで行い、リストを持たないようにしてください。

+0

ありがとう。あなたのコードも動作します。 – Zheng

関連する問題