Obtenir des données de la base de données via ODBC avec Python (Access)

introduction

L'article de l'ancêtre suffit, mais pour moi. Aussi, je me souviens que les données provenaient de Sports Data Analysis Competition et Access, j'espère donc que cela aidera les participants.

Articles d'ancêtres

https://qiita.com/taro373/items/619e3385087279f72279

Mon exemple

environnement

--Windows 10 1909 version 64 bits --Access 365 2002 Édition 32 bits

Préparation

Téléchargez et installez «Microsoft Access Database Engine 2010 Redistributable Components» https://www.microsoft.com/ja-jp/download/details.aspx?id=13255

Base de données

Une base de données constituée uniquement d'une table nommée T_1 avec le contenu suivant

ID field1
1 Valeur de test

La source

test.py


import pandas as pd
import pyodbc

#Liste des pilotes ODBC sur le PC
print(pyodbc.drivers())
print()

#Chaîne de caractères utilisée pour la connexion DB
#Dans la chaîne de caractères "{}"Et"\, Il est donc préférable d'utiliser une chaîne de caractères brute
conn_str = (
    r'DRIVER={Microsoft Access Driver (*.mdb, *.accdb)}; ' +
    r'DBQ=(Nom du lecteur):\(Nom de dossier)\ ~ \nom de fichier.accdb;'
)

#Utiliser avec l'instruction pour ouvrir et fermer la base de données en toute sécurité
with pyodbc.connect(conn_str) as conn:

    #Lors de l'utilisation de DataFrame
    print('*Lors de l'utilisation de DataFrame')
    df = pd.io.sql.read_sql(r'select * from T_1', conn)
    print(df)
    print()

    print('*Lors de l'utilisation d'un curseur')
    with conn.cursor() as cur:
        #À propos de chaque table
        for table_info in cur.tables(tableType='TABLE'):
            #Afficher le contenu avec l'instruction de sélection
            #Si vous souhaitez utiliser à la fois une chaîne brute et une notation f, "rf''À
            cur.execute(rf'select * from {table_info.table_name}')
            for row in cur.fetchall():
                print(row)

Résultat d'exécution

['SQL Server', 'SQL Server Native Client 11.0', 'Microsoft Access Driver (*.mdb, *.accdb)', 'Microsoft Excel Driver (*.xls, *.xlsx, *.xlsm, *.xlsb)', 'Microsoft Access dBASE Driver (*.dbf, *.ndx, *.mdx)', 'Microsoft Access Text Driver (*.txt, *.csv)']

*Lors de l'utilisation de DataFrame
   ID field1
0 1 Valeur de test

*Lors de l'utilisation d'un curseur
(1, 'Valeur de test')

en conclusion

c'est tout.

Recommended Posts

Obtenir des données de la base de données via ODBC avec Python (Access)
[Note] Obtenir des données de PostgreSQL avec Python
Obtenez des données Youtube avec python
Accès ODBC à SQL Server depuis Linux avec Python
Obtenir des données de Quandl en Python
[Python] Obtenez des données économiques avec DataReader
Obtenez des données de l'API d'analyse avec le client API Google pour python
Recevoir des données textuelles de mysql avec python
Obtenez des données de Cloudant avec le flacon Bluemix
Obtenez des données de VPS MySQL avec Python 3 et SQL Alchemy
Manipulation des données Kintone avec le pilote ODBC Python & C Data d'AWS Lambda
Extraire des tables de base de données avec CSV [connexion ODBC de R et python]
Intégration de données depuis l'application Python sur Linux vers Amazon Redshift avec ODBC
Intégration de données depuis l'application Python sur Windows vers Amazon Redshift avec ODBC
Obtenez des données de séries chronologiques de k-db.com avec Python
Obtenez des données sur le cours de l'action avec l'API Quandl [Python]
Extraire des données d'une page Web avec Python
Analyse de données avec python 2
Accéder à bitcoind depuis python
Analyse de données avec Python
Obtenez le numéro d'entreprise à la fois via gbizinfo avec python
Comment récupérer des données d'image de Flickr avec Python
Obtenir le calendrier de l'API Garoon SOAP avec Python + Zeep
Obtenez des données du module GPS à 10 Hz avec Python
Envoyer des données de Python au traitement via une communication socket
Interagissez avec Python sur Android à partir d'un PC via adb
Recevoir des e-mails de Gmail et étiqueter avec Python3
[Linux] [Python] [Pandas] Charger la base de données Microsoft Access (* .mdb) avec Pandas
Obtenir les données structurelles de CHEMBLID
Obtenez le code du pays avec python
Exemple de données créées avec python
Accéder à Oracle DB depuis Python
Obtenir l'ID de thread avec python
Commencez avec Python! ~ ② Grammaire ~
Accédez à Google Drive avec Python
Obtenez des stocks avec Python
Obtenir le répertoire personnel avec python
Obtenir un événement de clavier avec python
Avec skype, notifiez avec skype de python!
Obtenez des informations sur l'alambic avec Python
Lire des données json avec python
Vérifiez! Obtenez les données du capteur via Bluetooth avec Raspberry Pi ~ Préparation
Débarrassez-vous des données sales avec Python et les expressions régulières
Résumé Xpath lors de l'extraction de données d'un site Web avec Python Scrapy
Obtenez des données supplémentaires vers LDAP avec python (Writer et Reader)
Obtenir le message du premier offset avec le consommateur kafka en python
[Introduction à Python] Comment obtenir des données avec la fonction listdir
Obtenez des données LeapMotion en Python.
Obtenez des commandes PowerShell à partir d'un site d'analyse dynamique de logiciels malveillants avec BeautifulSoup + Python
Essayez l'authentification de base de données IAM à partir de Python
Commencez avec Python! ~ ① Construction de l'environnement ~
Appeler C depuis Python avec DragonFFI
Lien pour commencer avec python
Utilisation de Rstan de Python avec PypeR
Obtenez des avis avec l'API googlemap de python
Installez Python à partir des sources avec Ansible
Obtenez la météo avec les requêtes Python
Obtenez une capture d'écran Web avec python
Obtenez la météo avec les requêtes Python 2
Obtenir une colonne de DataFrame avec DataFrame