Maison >développement back-end >Tutoriel Python >Comment lire efficacement des colonnes spécifiques d'un fichier CSV ?

Comment lire efficacement des colonnes spécifiques d'un fichier CSV ?

Patricia Arquette
Patricia Arquetteoriginal
2024-11-22 10:32:10634parcourir

How to Read Specific Columns from a CSV File Efficiently?

Lecture sélective de colonnes dans un fichier CSV avec le module csv

Comprendre le problème

La lecture de colonnes spécifiques à partir d'un fichier CSV peut être une tâche courante dans le traitement des données. Cependant, accéder aux colonnes par leur numéro, comme tenté dans le code donné, peut conduire à des résultats inattendus.

Résoudre l'erreur

L'erreur dans le code fourni réside dans le placement de l'instruction d'impression en dehors du pour la boucle. Par conséquent, seul le résultat de la dernière itération est imprimé, qui est la dernière colonne du fichier CSV.

Correction du code

Pour résoudre ce problème, l'instruction d'impression doit être déplacée à l'intérieur de la boucle pour imprimer les colonnes spécifiques de chaque ligne :

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

Avantages du module Pandas

Bien que le code ajusté puisse accomplir l'objectif tâche, il lui manque la commodité et l’efficacité du module pandas. Pandas fournit une solution élégante et polyvalente pour la manipulation de fichiers CSV.

Pandas pour la lecture sélective de colonnes

En utilisant pandas, la lecture d'une colonne spécifique à partir d'un fichier CSV devient sans effort :

import pandas as pd

df = pd.read_csv(csv_file)

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

Code simplifié

La solution Pandas simplifie considérablement le code :

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

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn