[FIXED] Python Pandas fügen Filename Column CSV hinzu

Ausgabe

Mein Python-Code funktioniert im folgenden Beispiel korrekt. Mein Code kombiniert ein Verzeichnis von CSV-Dateien und stimmt mit den Headern überein. Ich möchte jedoch noch einen Schritt weiter gehen – wie füge ich eine Spalte hinzu, die den Dateinamen der verwendeten CSV-Datei anhängt?

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")

Lösung

Das sollte funktionieren:

import os

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

frame['filename']erstellt eine neue Spalte mit dem Namen filenameund os.path.basename()wandelt einen Pfad wie /a/d/c.txtin den Dateinamen um c.txt.


Beantwortet von –
Mike Müller


Antwort geprüft von –
Katrina (FixError Volunteer)

0 Shares:
Leave a Reply

Your email address will not be published. Required fields are marked *

You May Also Like