J'essaye de formater un fichier pour qu'il puisse être inséré dans une base de données, le fichier est compressé à l'origine et a environ 1.3Mo de large. Chaque ligne ressemble à ceci:parse.unquote_plus TypeError
398,%7EAnoniem+001%7E,543,480,7525010,1775,0
Voici comment le code ressemble à celui parse ce fichier:
Village = gzip.open(Root+'\\data'+'\\' +str(Newest_Date[0])+'\\' +str(Newest_Date[1])+'\\' +str(Newest_Date[2])\
+'\\'+str(Newest_Date[3])+' village.gz');
Village_Parsed = str
for line in Village:
Village_Parsed = Village_Parsed + urllib.parse.unquote_plus(line);
print(Village.readline());
Quand je lance le programme je reçois cette erreur:
Village_Parsed = Village_Parsed + urllib.parse.unquote_plus(line);
file "C:\Python31\lib\urllib\parse.py", line 404, in unquote_plus string = string.replace('+', ' ') TypeError: expected an object with the buffer interface
Une idée de ce qui ne va pas ici? Merci d'avance pour toute aide :)
@JFSebastian: Avez-vous déjà essayé? Je reçois exactement la même erreur que l'OP ... en dehors de son problème d'initialisation, votre code semble être fonctionnellement équivalent à son, retournant des objets octets. –
@John Machin: Je l'ai essayé (maintenant). Je ne peux pas trouver 'unquote_plus_from_bytes' donc nous devons recourir à la méthode explicite' bytes.decode'. – jfs
Merci, votre solution fonctionne très bien, et merci de signaler mes autres erreurs (Machin et Sebestian). Je ne suis pas sûr si ascii était l'encodage de caractères utilisé, mais cela fonctionne sans aucun problème pour autant que je puisse le voir. – user202459