Je suis en train de former-poster un fichier sql qui se compose de nombreux INSERTS, par exemple.python appengine fichier UFO8 formulaire-posté
INSERT INTO `TABLE` VALUES ('abcdé', 2759);
puis-je utiliser re.search pour analyser et extraire les champs à mettre dans mon propre datastore. Le problème est que, bien que le fichier contienne des caractères accentués (voir le e est un é), une fois téléchargé il le perd et soit des erreurs ou stocke une représentation bytestring de celui-ci.
Heres ce que je suis actuellement en utilisant (et je l'ai essayé des charges d'alternatives):
form = cgi.FieldStorage()
uFile = form['sql']
uSql = uFile.file.read()
lineX = uSql.split("\n") # to get each line
et ainsi de suite.
Quelqu'un at-il une façon robuste de faire ce travail? souvenez-vous que je suis sur appengine donc l'accès à certaines bibliothèques est restreint/interdit
Vous dites "une fois téléchargé, il perd" - est-ce que l'é est tombé ou transformé en "e"? Essayez-vous de journaliser la chaîne de requête que vous obtenez? J'essaie de savoir si vous perdez vos données au moment où votre code voit la demande ou quand il essaie de stocker le résultat. –
si vous imprimez uSql il rend l'é comme sur mon mac. – khany