PythonはMysqlデータベースに接続し、Mysqlデータベースからデータを読み取り、Excelファイルに保存します

0.環境の準備と紹介

  • オペレーティングシステム:Windows10
  • Pythonバージョン:Python 3.7.2
  • ツール:Pycharm Professional Edition
  • サードパーティのライブラリに依存します。
    • pymysql(データベースに接続)
    • openpyxl(Excelシートを操作する)

1.PythonはMySQLデータベースに接続します

次のコードは、データベースに接続するための基本的なコードです。このコードは、現在のデータベース内のすべてのテーブルのクエリを実装します。コードの各行の具体的な意味については、コードの背後にあるコメントを詳細に読んでください。
import pymysql
# 连接数据库
conn = pymysql.connect(host="localhost", user="root", passwd="你的数据库密码",
                       db="mystore", port=3306,charset="utf8")
cur = conn.cursor()  # 创建游标对象

cur.execute("show tables;")    # 使用execute()方法执行SQL代码
table_names=cur.fetchall() # 返回执行SQL代码后的结果集,默认为元组
#打印
print(table_names)

cur.close()
conn.close()  # 关闭数据库连接
以下は、コード実行のスクリーンショットです。

ここに画像の説明を挿入します

PythonコントロールExcelシート

特定のopenpyxlライブラリの使用方法について、編集者が優れていると考えるブロガーを整理し、記事のリンクをここに貼り付けました。
Python openpyxlの使用方法の詳細な説明(推奨♥)
openpyxl公式マニュアル-openpyxl公式マニュアルの英語版-
简书

"""
    操作ceshi.xlsx,从A1-J1单元格中写入hello
"""
import openpyxl

wb = openpyxl.load_workbook('ceshi.xlsx')  # 创建一个工作簿
ws = wb.active  # 选择默认的sheet

# 从A1-J1单元格中写入hello
for i in range(65,65+10):
    ws[chr(i)+'1'] = 'hello'

wb.save('ceshi.xlsx')

コード実行結果

ここに画像の説明を挿入します

PythonはMysqlデータベースに接続し、Mysqlデータベースからデータを読み取り、Excelファイルに保存します

データベースでのクエリ

ここに画像の説明を挿入します
ここに画像の説明を挿入します

コードは次のように表示されます。
import openpyxl
import pymysql


# 连接数据库
conn = pymysql.connect(host="localhost", user="root", passwd="你的数据库密码",
                       db="数据库名", port=3306, charset="utf8")
cur = conn.cursor()

wb = openpyxl.load_workbook('ceshi.xlsx')  # 打开文件
ws = wb.active

"""  获取表结构,并将表头写入excel """
cur.execute("desc product;")
table_head = cur.fetchall()
li = []
for d in table_head:
    li.append(d[0])
li.reverse()
i = 65
while li:
    ws[chr(i)+'1'] = li.pop()
    i = i+1

""" 获取表中所有数据,并写入excel """
cur.execute("select * from product;")
table_product_data = cur.fetchall()
j = 1
for da in table_product_data:
    di = 65
    j = j + 1
    for k in range(len(da)):

        ws[chr(di) + str(j)] = da[k]
        di = di+1

wb.save('ceshi.xlsx')

cur.close()
conn.close()
コード実行結果

ここに画像の説明を挿入します

おすすめ

転載: blog.csdn.net/qq_37955704/article/details/103831982
おすすめ