2017-01-25 4 views
3

В приведенном ниже примере мой код python работает правильно. Мой код объединяет каталог CSV-файлов и соответствует заголовкам. Однако я хочу сделать еще один шаг: как добавить столбец, который добавляет имя файла CSV, который был использован?Python Pandas добавить имя файла Column 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") 

ответ

7

Это должно работать:

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.

+0

Awesome. Я знал, что это легко! спасибо – specmer