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'] создает новый столбец с именем filename и os.path.basename() оказывается путь, как /a/d/c.txt на имя c.txt.