J'ai un gros fichier DBF (~ 700 Mo). J'aimerais seulement sélectionner quelques lignes à partir de celui-ci à l'aide d'un script Python. J'ai vu que DBFPY est un joli module qui permet d'ouvrir ce type de base de données, mais pour l'instant, je n'ai trouvé aucune capacité de requête. Itération à travers tous les éléments de Python est tout simplement trop lent. P>
Puis-je faire ce que je veux de Python dans un délai raisonnable? P>
3 Réponses :
Si vous utilisez Windows, vous pouvez utiliser le module ODBC En combinaison avec le pilote Visual FoxPro ODBC P>
chances sont, votre performance est plus d'E / S liée à la CPU liée. En tant que tel, la meilleure façon de la accélérer est d'optimiser votre recherche. Vous voulez probablement construire une sorte d'index frappé par le prédicat de votre recherche. P>
en utilisant Mon module DBF Vous pouvez créer des index temporaires, puis rechercher à l'aide de ceux:
import dbf table = dbf.Table('big.dbf') index = table.create_index(lambda rec: rec.field) # field should be actual field name records = index.search(match=('value',))