Python – pyodbc で MySQL に接続し検索結果をファイルに保存  No.99

自己投資としてチャレンジしている内容を Blog で公開しています。

今回は python で pyodbc を使い MySQL に接続し Select 結果を ファイルに保存する方法について紹介します。

▼1. pyodbc による MySQL on Ubntu への接続および Select 結果をファイルに保存

本 blog では以前 Java による、MySQL への接続および検索結果のファイル保存について紹介していましたが、今回 python を使て実現したいと思います。

Java – MySQL on Ubuntu 検索結果をテキストに保存  No.85


▼2. 事前準備

環境、事前準備などに関しては以下の blog を参考にしてください。

Python – pyodbc で MySQL on Ubuntu 20.04 に接続する方法  No.98


▼3. pyodbc で MySQL に接続し Select を実行後ファイルに出力する Python コード

3-1. python コードを作成

Python のコード runmysqlquery.py  を作成します。環境に合わせてパラメータを変更します。

import pyodbc

driver = '{MYSQL ODBC 8.0 Driver}'
server = 'localhost'
dbname = 'testdb'
user = 'hiveuser'
pw = 'hivepassword'
query = "select * from testtbl"
filepath = "/home/xxx/results.txt"

try:
    conn = pyodbc.connect('DRIVER='+driver+';SERVER='+server+';DATABASE='+dbname+';UID='+user+';PWD='+pw+';')
    cursor = conn.cursor()
    cursor.execute(query)
    row = cursor.fetchone()

    while row:
        print(str(row[0]) + " " + str(row[1]))
        row = cursor.fetchone()

    # save results of a select query to file
    with open(filepath, 'w') as f:
        cursor.execute(query)
        row = cursor.fetchone()
        while row:
            f.write(str(row[0]) + " " + str(row[1]) + "\n")
            row = cursor.fetchone()

except pyodbc.Error as ex:
    sqlstate = ex.args[1]
    print(sqlstate)

3-2.  実行結果

エラーなく実行した結果が以下です。results.txt のファイルが作成されます。

python3 runmysqlquery.py

(実行結果)
1 1
2 2
3 3

出力されたファイルの中身を確認。

cat results.txt

1 1
2 2
3 3

▼4. 参考情報

  1. Java – MySQL on Ubuntu 検索結果をテキストに保存  No.85
  2. Python – pyodbc で MySQL on Ubuntu 20.04 に接続する方法  No.98
  3. Python in Visual Studio Code

以上です。参考になりましたら幸いです。

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です