Heim  >  Artikel  >  Backend-Entwicklung  >  Wie füge ich mit Python einer CSV-Datei eine neue, aus vorhandenen Daten abgeleitete Spalte hinzu?

Wie füge ich mit Python einer CSV-Datei eine neue, aus vorhandenen Daten abgeleitete Spalte hinzu?

DDD
DDDOriginal
2024-10-21 21:00:30178Durchsuche

How to Add a New Column Derived from Existing Data to a CSV File Using Python?

Ändern von CSV-Dateien: Hinzufügen einer neuen Spalte

Problemstellung

Gegeben eine CSV-Datei mit den Spalten „Name“ und „Code“, haben wir Ziel ist es, eine neue Spalte namens „Berry“ mit Werten hinzuzufügen, die aus der Spalte „Name“ abgeleitet sind. Die gewünschte Ausgabe sollte wie folgt aussehen:

Name        Code    Berry
blackberry  1   blackberry
wineberry   2   wineberry
rasberry    1   rasberry
blueberry   1   blueberry
mulberry    2   mulberry

Vorgeschlagene Lösung

Mit Python und dem CSV-Modul können wir die CSV-Dateien wie folgt bearbeiten:

  1. Öffnen Sie die Eingabe-CSV-Datei zum Lesen und die Ausgabe-CSV-Datei zum Schreiben.
  2. Iterieren Sie jede Zeile in der Eingabedatei mit csv.reader.
  3. Fügen Sie für jede Zeile den gewünschten Wert für das neue ' hinzu. Berry'-Spalte.
  4. Schreiben Sie die geänderten Zeilen mit csv.writer in die Ausgabedatei.

Hier ist ein Beispielskript:

<code class="python">import csv

with open('input.csv', 'r') as input_file, open('output.csv', 'w') as output_file:
    reader = csv.reader(input_file)
    writer = csv.writer(output_file)

    # Read the header row and add the new column
    header = next(reader)
    header.append('Berry')
    writer.writerow(header)

    # Iterate over the remaining rows and modify them
    for row in reader:
        row.append(row[0])    # Set the 'Berry' column to the 'Name' column
        writer.writerow(row)</code>

Bemerkenswerte Überlegungen

  • Die Funktionen csv.reader und csv.writer handhaben das Lesen bzw. Schreiben von Zeilen aus bzw. in die CSV-Dateien.
  • Die open-Funktion mit with-Anweisung gewährleistet die ordnungsgemäße Dateiverarbeitung und -bereinigung.
  • Die Funktion next(reader) liest die erste Zeile (Kopfzeile) und treibt den Iterator voran, der zum Hinzufügen der neuen Spalte zur Kopfzeile erforderlich ist.
  • In Python 3 wird der Iterator aus csv abgerufen .reader liefert Tupel, daher müssen wir sie in Listen konvertieren, bevor wir sie ändern und schreiben.

Indem wir diese Schritte befolgen, können wir erfolgreich eine neue Spalte zu unseren CSV-Dateien hinzufügen und so ihre Datendarstellung verbessern.

Das obige ist der detaillierte Inhalt vonWie füge ich mit Python einer CSV-Datei eine neue, aus vorhandenen Daten abgeleitete Spalte hinzu?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn