私の 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']
という名前の新しい列を作成しfilename
、os.path.basename()
のようなパスを/a/d/c.txt
ファイル名に変換しますc.txt
。