[FIXED] Extrahieren Sie eine einzelne Spalte aus mehreren CSVs und speichern Sie sie in einer neuen CSV

Ausgabe

Ich möchte aus über 100 CSV-Dateien eine bestimmte Spalte auslesen, um eine neue CSV-Datei zu erstellen. Die Kopfzeile der Quellspalte wird in den Dateinamen umbenannt, aus dem die Spalte extrahiert wurde.

Ich kann die einzelnen Spalten abrufen, aber ich konnte die Kopfzeile jeder Spalte ohne die Erweiterung „.csv“ nicht umbenennen:

Ausgang

import os
import pandas as pd

folder = "C:/Users/Doc/Data"
files = os.scandir(folder)

E2080 = []
with os.scandir(folder) as files:
    for file in files:
        #print(file)
        df = pd.read_csv(file, index_col=None)
        dist = {file: (df['lnt_dist'])}
        E = pd.DataFrame(dist)
        E2080.append(E)

dist = pd.concat(E2080, ignore_index=False, axis=1)
dist.head()
dist.to_csv('E2080', index=False)

Lösung

Dies ist der letzte Code, der für mich funktioniert hat (siehe Ausgabe 1 ):

E2080 = []
with os.scandir(folder) as files:
    for file in files:
        #print(file)
        df = pd.read_csv(file, index_col=None)
        dist = {file: (df['lnt_dist'])}
        E = pd.DataFrame(dist)
        E_1 = E.rename(columns={file: file.name.split('.')[0]}) # rename df header while dropping the ext **[.csv]** and the `os.scandir` attribute `<DirEntry>`
        E2080.append(E_1)

dist = pd.concat(E_28, ignore_index=False, axis=1)
#dist.head()
dist.to_csv('E2080.csv', index=False)


Beantwortet von –
onia106


Antwort geprüft von –
David Marino (FixError Volunteer)

0 Shares:
Leave a Reply

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

You May Also Like