Bonjour,

je suis un exercice python qui consiste à récupérer les données présentes dans un csv puis à modifier ces données pour les écrire dans un autre fichier csv.
J'avoue je sèche complement sur l'écriture du nouveau fichier.

**notez que dans un premier temps je voulais prendre les données de input.csv pour les ecrire dans output.csv

Actuellement j'arrive à récup les données de input.csv sous la forme d'un dictionnaire :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
import csv
 
with open('input.csv') as fichier_csv:
    reader = csv.DictReader(fichier_csv,delimiter=',')
    for ligne in reader:
        print(ligne)
resultat :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
 
 
Python - main.py:7
{'noms': 'Pierre Durand', 'h_ts': '36'}
{'noms': 'Paul Dupont', 'h_ts': '41'}
{'noms': 'Edouard Gentil', 'h_ts': '40'}
Ensuite je créé le fichier output.csv et j'écris dedans :


Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
import csv
 
with open('input.csv') as fichier_csv:
    reader = csv.DictReader(fichier_csv,delimiter=',')
    for ligne in reader:
        print(ligne)
en_tete = ["noms", "h_ts"]
with open('output.csv', 'w') as fichier_csv:
       # Créer un objet writer (écriture) avec ce fichier
        writer = csv.writer(fichier_csv, delimiter=',')
        writer.writerow(en_tete)
       # Parcourir les titres et descriptions - zip permet d'itérer sur deux listes ou plus à la fois
for nom, h_t in zip(noms, h_ts):
          # Créer une nouvelle ligne avec le titre et la description à ce moment de la boucle
          ligne = [nom, h_t]
          writer.writerow(ligne)
c'est que j'ai une erreur :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
 line 13, in <module>
    for nom, h_t in zip(noms, h_ts):
NameError: name 'noms' is not defined
[Finished in 0.131s]
noms et h_ts ne sont pas définis