关键词

python查询MySQL将数据写入Excel

针对“python查询MySQL将数据写入Excel”的操作,下面是详细的攻略:

准备工作

首先需要安装以下python库:

  • pymysql
  • openpyxl

这两个库可以使用pip进行安装,命令如下:

pip install pymysql openpyxl

同时,需要使用pymysql连接MySQL数据库,需要提前安装MySQL的驱动程序,这里我们选择使用mysql-connector-python库进行安装。

步骤一:连接MySQL数据库

在python程序中使用pymysql模块连接MySQL数据库,以下是连接代码:

import pymysql

# 填入mysql数据库的地址、用户名、密码、数据库名等信息
conn = pymysql.connect(
    host="localhost",
    user="root",
    password="password",
    database="test_db"
)

连接成功后,我们可以通过conn对象操作MySQL数据库了。

步骤二:查询MySQL数据

使用pymysql连接成功后,我们可以使用cursor对象进行MySQL数据库的操作,例如查询MySQL数据:

import pymysql

# 填入mysql数据库的地址、用户名、密码、数据库名等信息
conn = pymysql.connect(
    host="localhost",
    user="root",
    password="password",
    database="test_db"
)

# 创建cursor对象
cursor = conn.cursor()

# 执行sql查询语句
sql = "SELECT * FROM users"
cursor.execute(sql)

# 获取查询结果
results = cursor.fetchall()

# 输出每行数据
for row in results:
    print(row)

# 关闭游标和连接
cursor.close()
conn.close()

以上代码中,我们首先通过conn.cursor()方法创建了一个游标对象cursor,然后执行了查询语句SELECT * FROM users,并将结果通过cursor.fetchall()方法获取到,并输出每行数据。

步骤三:将查询结果写入Excel

使用openpyxl库可以很方便地将数据写入Excel文件中,以下是示例代码:

import pymysql
from openpyxl import Workbook

# 填入mysql数据库的地址、用户名、密码、数据库名等信息
conn = pymysql.connect(
    host="localhost",
    user="root",
    password="password",
    database="test_db"
)

# 创建cursor对象
cursor = conn.cursor()

# 执行sql查询语句
sql = "SELECT * FROM users"
cursor.execute(sql)

# 获取查询结果
results = cursor.fetchall()

# 创建一个Workbook对象,用于写入Excel数据
wb = Workbook()

# 获取默认的sheet页
ws = wb.active

# 写入每行数据
for row in results:
    ws.append(row)

# 保存Excel文件
wb.save("output.xlsx")

# 关闭游标和连接
cursor.close()
conn.close()

以上代码中,我们首先使用openpyxl库创建了一个Excel文件,然后将查询结果写入到默认的sheet页中,并将文件保存为output.xlsx

另外,我们也可以自定义sheet页的名称,例如:

# 创建一个Workbook对象,用于写入Excel数据
wb = Workbook()

# 自定义sheet页的名称
ws = wb.create_sheet("my_sheet")

# 写入每行数据
for row in results:
    ws.append(row)

# 保存Excel文件
wb.save("output.xlsx")

这里我们使用wb.create_sheet()方法创建了一个自定义名称的sheet页,并将查询结果写入到该sheet页中。

综上所述,完整的“python查询MySQL将数据写入Excel”的攻略已经介绍完毕,代码中也包含了两条示例的说明。希望对你有所帮助。

本文链接:http://task.lmcjl.com/news/14808.html

展开阅读全文