Bonjour,
Je souhaite enregistrer des données dans un fichier csv pour pouvoir les lire après. J'ai 2 programmes pour tester le fonctionnement : un pour écrire dans le fichier, l'autre pour lire le fichier.
J'arrive à écrire les données dans le fichier csv (visibles dedans). Mais quand je souhaite les lire cela ne fonctionne pas.
Dans un premier temps, on pourrait se dire qu'il y a une erreur dans le programme de mon fichier lecture. Sauf que lorsque j'enregistre le fichier csv directement à partir d'Open Office, mon fichier lecture fonctionne !
Fichier écriture :
1 2 3 4 5 6 7 8 9 10 11 12 13 14
| import csv
import datetime
Date = ["samedi","dimanche","lundi"]
Param = ["20","40","10"]
valeur = 40
fichierCSV = open("base.csv","w",encoding='utf-8')
ContenuCSV = csv.writer(fichierCSV)
date = datetime.datetime.now()
ContenuCSV.writerow([ ( str(date.day) + "." + str (date.month) + "." + str(date.year) + " " + str(date.hour) + ":" + str(date.minute) + ":" + str(date.second) ) , valeur ])
ContenuCSV.writerow([ Date[1] , Param[1] ])
ContenuCSV.writerow([ Date[0] , Param[0] ])
fichierCSV.close() |
Fichier lecture :
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
| import csv
fichierCSV = open("base.csv","r",encoding='utf-8')
ContenuCSV = csv.reader(fichierCSV,)
print(ContenuCSV)
NumLigne = 0
Date = ["","",""]
Param = ["","",""]
for ligne in ContenuCSV:
NumLigne = NumLigne + 1
print (NumLigne-1)
Date[NumLigne-1]= ligne[0]
Param[NumLigne-1]= ligne[1]
print (Date)
print (Param) |
Affichage dans le shell :
<_csv.reader object at 0x0322D0F0>
0
['16.12.2018 18:8:38', '', '']
['40', '', '']
1
Traceback (most recent call last):
File "C:\Users\Anthony\Desktop\HTML CSS\CSV\CSV.py", line 11, in <module>
Date[NumLigne-1]= ligne[0]
IndexError: list index out of range
Merci pour votre aide.
Partager