用python写一段程序:批量执行excel文件中多个mysql查询语句,并将结果输出成excel文件
时间: 2024-04-15 17:31:03 浏览: 24
当然可以!以下是一个使用Python批量执行Excel文件中多个MySQL查询语句,并将结果输出为Excel文件的示例程序:
```python
import mysql.connector
import openpyxl
# 创建数据库连接
conn = mysql.connector.connect(
host="localhost",
user="your_username",
password="your_password",
database="your_database"
)
# 创建游标对象
cursor = conn.cursor()
# 打开Excel文件
workbook = openpyxl.load_workbook('queries.xlsx')
# 获取所有工作表名称
sheet_names = workbook.sheetnames
# 遍历每个工作表
for sheet_name in sheet_names:
# 获取当前工作表对象
sheet = workbook[sheet_name]
# 获取当前工作表中的查询语句
queries = []
for row in sheet.iter_rows(values_only=True):
query = row[0]
queries.append(query)
# 执行每个查询语句
for query in queries:
cursor.execute(query)
result = cursor.fetchall()
# 创建新的工作表来保存查询结果
result_sheet = workbook.create_sheet(title=f"{sheet_name} - Query Result")
# 将查询结果写入工作表
for i, row in enumerate(result, start=1):
for j, value in enumerate(row, start=1):
result_sheet.cell(row=i, column=j, value=value)
# 保存结果到新的Excel文件
workbook.save('query_results.xlsx')
# 关闭游标和数据库连接
cursor.close()
conn.close()
```
请确保将上述代码中的`your_username`、`your_password`和`your_database`替换为您的实际数据库凭据和数据库名称。此外,确保在程序所在的目录下有一个名为`queries.xlsx`的Excel文件,其中包含多个工作表,每个工作表包含一个或多个查询语句。
运行程序后,它将逐个执行每个工作表中的查询语句,并将查询结果保存在新的Excel文件`query_results.xlsx`中,每个查询结果都对应一个新的工作表。
希望对你有所帮助!如有任何问题,请随时提问。