Maison  >  Article  >  développement back-end  >  Comment ajouter une nouvelle colonne dérivée de données existantes à un fichier CSV à l'aide de Python ?

Comment ajouter une nouvelle colonne dérivée de données existantes à un fichier CSV à l'aide de Python ?

DDD
DDDoriginal
2024-10-21 21:00:30178parcourir

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

Modification des fichiers CSV : ajout d'une nouvelle colonne

Énoncé du problème

Étant donné un fichier CSV avec des colonnes nommées « Nom » et « Code », nous vise à ajouter une nouvelle colonne appelée « Berry » avec des valeurs dérivées de la colonne « Nom ». Le résultat souhaité doit ressembler à :

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

Solution proposée

En utilisant Python et le module CSV, nous pouvons manipuler les fichiers CSV comme suit :

  1. Ouvrez le fichier CSV d'entrée pour la lecture et le fichier CSV de sortie pour l'écriture.
  2. Parcourez chaque ligne du fichier d'entrée à l'aide de csv.reader.
  3. Pour chaque ligne, ajoutez la valeur souhaitée pour le nouveau ' Colonne de Berry.
  4. Écrivez les lignes modifiées dans le fichier de sortie à l'aide de csv.writer.

Voici un exemple de script :

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

Considérations notables

  • Les fonctions csv.reader et csv.writer gèrent respectivement la lecture et l'écriture de lignes depuis et vers les fichiers CSV.
  • La fonction open avec l'instruction with garantit une gestion et un nettoyage corrects des fichiers.
  • La fonction next(reader) lit la première ligne (en-tête) et avance l'itérateur, ce qui est nécessaire pour ajouter la nouvelle colonne à l'en-tête.
  • En Python 3, l'itérateur obtenu à partir de csv .reader génère des tuples, nous devons donc les convertir en listes avant de les modifier et de les écrire.

En suivant ces étapes, nous pouvons ajouter avec succès une nouvelle colonne à nos fichiers CSV, améliorant ainsi leur représentation des données.

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