Warum verarbeitet mein Python-Code die Kopfzeile in einer CSV-Datei, anstatt sie zu überspringen?

Mary-Kate Olsen
Freigeben: 2024-10-30 20:49:02
Original
267 Leute haben es durchsucht

Why is my Python code processing the header row in a CSV file instead of skipping it?

Überspringen von Headern bei der Verarbeitung einer CSV-Datei mit Python

Problem:

In Python wird eine CSV-Datei verarbeitet , aber die erste Zeile (Kopfzeile) wird geändert statt ausgeschlossen.

Code in Frage:

<code class="python">in_file = open("tmob_notcleaned.csv", "rb")
reader = csv.reader(in_file)
out_file = open("tmob_cleaned.csv", "wb")
writer = csv.writer(out_file)
row = 1

for row in reader:
    # Row processing logic

in_file.close()    
out_file.close()</code>
Nach dem Login kopieren

Problem:

Das Initialisieren der Variable „row“ auf 1 verhindert nicht, dass die Kopfzeile verarbeitet wird.

Lösung:

Um die Kopfzeile zu überspringen, verwenden Sie die next()-Funktion, um den Leser iterierbar um ein Element voranzutreiben. Der Rückgabewert von next() kann in diesem Fall ignoriert werden.

Geänderter Code:

<code class="python">with open("tmob_notcleaned.csv", "rb") as in_file, open("tmob_cleaned.csv", "wb") as out_file:
    reader = csv.reader(in_file)
    next(reader, None)  # Skip the header row
    writer = csv.writer(out_file)

    for row in reader:
        # Row processing logic</code>
Nach dem Login kopieren

Alternative Option:

Wenn die Kopfzeile in der Ausgabedatei gewünscht wird, kann sie vor der Schleife an write.writerow() übergeben werden:

<code class="python">with open("tmob_notcleaned.csv", "rb") as in_file, open("tmob_cleaned.csv", "wb") as out_file:
    reader = csv.reader(in_file)
    headers = next(reader, None)  # Returns the header row or None if the input is empty

    if headers:
        writer.writerow(headers)

    for row in reader:
        # Row processing logic</code>
Nach dem Login kopieren

Das obige ist der detaillierte Inhalt vonWarum verarbeitet mein Python-Code die Kopfzeile in einer CSV-Datei, anstatt sie zu überspringen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:php.cn
Erklärung dieser Website
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
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage
Über uns Haftungsausschluss Sitemap
Chinesische PHP-Website:Online-PHP-Schulung für das Gemeinwohl,Helfen Sie PHP-Lernenden, sich schnell weiterzuentwickeln!