Heim  >  Artikel  >  Backend-Entwicklung  >  Wie lese ich bestimmte Spalten effizient aus einer CSV-Datei?

Wie lese ich bestimmte Spalten effizient aus einer CSV-Datei?

Patricia Arquette
Patricia ArquetteOriginal
2024-11-22 10:32:10543Durchsuche

How to Read Specific Columns from a CSV File Efficiently?

Selektives Lesen von Spalten in einer CSV-Datei mit dem CSV-Modul

Das Problem verstehen

Das Lesen bestimmter Spalten aus einer CSV-Datei kann eine häufige Aufgabe sein in der Datenverarbeitung. Der Zugriff auf Spalten anhand ihrer Nummer, wie er im angegebenen Code versucht wird, kann jedoch zu unerwarteten Ergebnissen führen.

Behebung des Fehlers

Der Fehler im bereitgestellten Code liegt darin, dass die print-Anweisung außerhalb von platziert wird for-Schleife. Folglich wird nur das Ergebnis der letzten Iteration gedruckt, also die letzte Spalte der CSV-Datei.

Codekorrektur

Um dieses Problem zu beheben, sollte die Druckanweisung innerhalb der Schleife zum Drucken verschoben werden die spezifischen Spalten jeder Zeile:

for row in reader:
    content = list(row[i] for i in included_cols)
    print(content)

Vorteile des Pandas-Moduls

Während der angepasste Code die Aufgabe erfüllen kann, Es fehlt der Komfort und die Effizienz des Pandas-Moduls. Pandas bietet eine elegante und vielseitige Lösung für die Bearbeitung von CSV-Dateien.

Pandas für selektives Spaltenlesen

Mit Pandas wird das Lesen einer bestimmten Spalte aus einer CSV-Datei mühelos:

import pandas as pd

df = pd.read_csv(csv_file)

# Save column data to a variable
column_data = df['column_name']

Vereinfachter Code

Die Pandas-Lösung vereinfacht den Code erheblich:

import pandas as pd

df = pd.read_csv(csv_file)

# Save specific columns as a list
specific_columns = ['ID', 'Name', 'Zip', 'Phone']
data = df[specific_columns].values.tolist()

Das obige ist der detaillierte Inhalt vonWie lese ich bestimmte Spalten effizient aus einer CSV-Datei?. 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