[adodbapi]Effectuer des requêtes SQL sur un fichier dbf
Bonjour,
(Je précise que je me suis mise récemment à Python et que la programmation n'est pas le cœur de mon métier, loin de là...)
Jusqu'à présent j'utilisais VB6 pour coder des petites moulinettes pour traiter des fichiers de données (les convertir dans un autre format, reformater certains champs et faire quelques petits calculs simples).
La grande majorité des fichiers qui ressortent de mes moulinettes sont des fichiers dbf.
Je voudrais transposer mes moulinettes en Python et je suis arrivée assez facilement à utiliser la bibliothèque dbfpy pour créer des dbf et les remplir. Seulement ça ne me suffit pas...
J'ai besoin de faire des calculs sur des champs et mettre à jour les dbf à partir des résultats de ces calculs (rien de bien compliquer : par exemple faire une moyenne de valeur pour chaque semaine d'une année et réinjecter cette moyenne dans la table des valeurs journalières).
Je suis donc allée voir du côté de adodbapi en me disant "chouette ! j'utilisais ADO avec vb6, je connais !". Et bien patatras, je n'arrive pas à faire la moindre requête sur un dbf avec...
Voila le bout de code que j'essaie de faire marcher dans un premier temps pour tester :
Code:
1 2 3 4 5 6 7 8 9
|
dBaseFolder = 'D:\\OUTILS\\exportBanqueHydro\\test'
dBaseTable = 'O8231530.dbf'
db = adodbapi.connect ("Driver={Microsoft dBASE Driver (*.dbf)};DriverID=277;Dbq=" + dBaseFolder + ";")
q = db.cursor ()
q.execute("SELECT * FROM " + dBaseTable)
print str(q.rowcount)
q.close () |
Le "print" me renvoie un vilain -1 alors que mon dbf est bien rempli.
J'ai testé d'autres connection string mais rien n'y fait.
J'ai beaucoup de mal à trouver de l'aide sur internet si bien que je me demande si je suis la seule au monde à vouloir gérer des dbf en python !
Suis-je vraiment seule au monde ?
Il y a peut-être d'autres bibliothèques qui me permettrait de faire tout ça... Si quelqu'un a une idée, je suis preneuse !