2017-12-15 6 views
1

私はpandasデータフレームにインポートする必要があるcsvファイルのセットを持っています。複数のcsvファイルからpandasデータフレームにインポートされたfilenameでレコードにタグを付けるにはどうすればよいですか?

私はリスト、FPとしてファイルパスを輸入している、と私は、データを読み取るために、次のコードを使用しています:これは素晴らしい取り組んでいる

for i in FP: 
    df = pd.read_csv(i,index_col=None, header=0).append(df) 

が、残念ながら何のdatetimestampsやファイルの識別属性ではありませんファイル。私は各レコードがどのファイルから来たのか知る必要があります。

私は、この行を追加しようとしたが、これは単に最終的なファイルのファイル名が読み込ま返さ:

for i in FP: 
    df = pd.read_csv(i,index_col=None, header=0).append(df) 
    df['filename'] = i 

を私はいくつかの厄介なマルチステップ・ソリューションを想像することができますが、私は何ができるよりエレガントな何かがあったのか疑問に思っ私の既存のループの中で。

+0

あなたはどのような属性が必要なのでしょうか? – MaxU

答えて

3

私はそれをこのようにしてください:

df = pd.concat([pd.read_csv(f, header=None).assign(filename=f) for f in FP], 
       ignore_index=True) 
+0

は完璧に動作します。あなたも見落としたバグを修正しました。私はignore_index = Trueの重要性を忘れました。私の元の質問に留意します。 –

関連する問題