Bonjour � tous !
Je cherche d�sesp�r�ment � r�soudre un probl�me que je ne rencontre que sur la version 3.2 de python, puisque j'ai r�ussi avec la version 2.7.
Je cherche en fait � importer des donn�es financi�res depuis Yahoo finance, sous forme de fichier .csv pour les traiter ensuite avec python. Mais je n'arrive pas � ouvrir le fichier .csv correctement, une histoire de code ASCII, utf-8, mais je n'ai pas r�ussi � en savoir plus malgr� Google et la doc Python... :/
Voici mon code :
Et le message d'erreur :
Code : S�lectionner tout - Visualiser dans une fen�tre � part
1
2
3
4
5
6
7
8 url = "http://ichart.finance.yahoo.com/table.csv?s=BNP.PA&d=5&e=26&f=2012&g=d&a=0&b=1&c=2012&ignore=.csv"#adresse correcte def Write_url(code,nom,url): file = urllib.request.urlopen(url) reader = csv.DictReader(codecs.EncodedFile(file, 'ASCII')) #Je pense avoir compris que c'est ici que ça coince... for row in reader: print(row) cursor.execute("insert into "+str(nom)+" values (:Date, :Open, :High, :Low, :Close, :Volume);", row)
Je ne comprends pas...
Code : S�lectionner tout - Visualiser dans une fen�tre � part
1
2
3
4
5
6
7
8 Write_url(code,nom,url) File "C:\Yahoo Finance fi.py", line 87, in Write_url for row in reader: File "C:\Python32\lib\csv.py", line 109, in __next__ self.fieldnames File "C:\Python32\lib\csv.py", line 96, in fieldnames self._fieldnames = next(self.reader) csv.Error: iterator should return strings, not bytes (did you open the file in text mode?)Sur la version 2.7 il suffisait de faire urllib.urlopen(url) puis csv.Dictreader() et �a marchait tout seul, mais l� Python demande une manip en plus et je ne vois pas laquelle.
Merci pour votre aide,
Bonne soir�e !
Partager