Python Pandas ファイル名列 CSV を追加する 質問する

Python Pandas ファイル名列 CSV を追加する 質問する

私の Python コードは、以下の例で正しく動作します。私のコードは、CSV ファイルのディレクトリを結合し、ヘッダーを一致させます。ただし、さらに一歩進めて、使用した CSV のファイル名を追加する列を追加するにはどうすればよいでしょうか。

import pandas as pd
import glob

globbed_files = glob.glob("*.csv") #creates a list of all csv files

data = [] # pd.concat takes a list of dataframes as an agrument
for csv in globbed_files:
    frame = pd.read_csv(csv)
    data.append(frame)

bigframe = pd.concat(data, ignore_index=True) #dont want pandas to try an align row indexes
bigframe.to_csv("Pandas_output2.csv")

ベストアンサー1

これは動作するはずです:

import os

for csv in globbed_files:
    frame = pd.read_csv(csv)
    frame['filename'] = os.path.basename(csv)
    data.append(frame)

frame['filename']という名前の新しい列を作成しfilenameos.path.basename()のようなパスを/a/d/c.txtファイル名に変換しますc.txt

おすすめ記事