Bonjour à tous,
J'apprends le langage python en même temps que le dev d'un script de synchronisation d'une base Oracle et Mysql. Le script est tout simple, je fais une requête sqlplus via subprocess, le résultat est écrit dans un fichier csv et ensuite je lis ce fichier pour recréer un fichier sql et le pousser dans mysql. Je suis obligé de passer par l'étape csv car j'applique des traitements avant import.
Mon problème est dans la reconnaissance du type d'une chaîne. Par exemple
REPLACE INTO matable('monchamp') VALUES(020050)
est totalement différente de
REPLACE INTO matable('monchamp') VALUES("020050")
Et bien sûr c'est cette dernière que mysql attend.
Dans le csv, 020050 est enregistré sans les " et à la lecture type() de python le reconnaît comme un int et il passe au travers de isalnum() (la valeur peut contenir des lettres et chiffres). J'ai bien pensé à faire une condition pour chaque champs mais il y en a bien trop.
Est-ce qu'il y aurait une autre méthode pour détecter le type de chaîne ?
Merci d'avance.
Partager