pymysql查询结果写入excel
时间: 2023-07-05 11:22:24 浏览: 38
以下是使用pandas将pymysql查询结果写入Excel的示例代码:
```python
import pymysql
import pandas as pd
# 连接数据库
connection = pymysql.connect(host='localhost',
user='root',
password='password',
db='database_name',
charset='utf8mb4')
# 执行查询语句
query = "SELECT * FROM table_name"
df = pd.read_sql(query, connection)
# 将查询结果写入Excel文件
writer = pd.ExcelWriter('output.xlsx')
df.to_excel(writer, index=False)
writer.save()
# 关闭数据库连接
connection.close()
```
你需要将上述代码中的 `host`、`user`、`password`、`db`、`table_name`、`output.xlsx` 替换为你自己的数据库连接信息以及查询语句和输出文件名。此外,你需要先安装pandas和pymysql模块。
相关问题
从数据库查询的结果写入到excel指定位置的python代码
以下是将从数据库查询的结果写入到Excel指定位置的Python代码示例:
```python
import pymysql
import openpyxl
# 连接数据库
conn = pymysql.connect(host='localhost', port=3306, user='root', password='password', db='mydb')
cursor = conn.cursor()
# 查询数据库
sql = "SELECT * FROM mytable"
cursor.execute(sql)
result = cursor.fetchall()
# 打开Excel文件
wb = openpyxl.load_workbook('myexcel.xlsx')
ws = wb['Sheet1']
# 写入数据
row_num = 2 # 从第2行开始写入数据
for row in result:
col_num = 1 # 从第1列开始写入数据
for col in row:
ws.cell(row=row_num, column=col_num, value=str(col))
col_num += 1
row_num += 1
# 保存Excel文件
wb.save('myexcel.xlsx')
# 关闭数据库连接
cursor.close()
conn.close()
```
在这个示例中,我们使用了Python的pymysql库连接到一个名为mydb的数据库,并查询了一个名为mytable的表。然后,我们使用openpyxl库打开了一个名为myexcel.xlsx的Excel文件,并将结果写入到Sheet1工作表的第2行开始的位置。最后,我们保存了Excel文件并关闭了数据库连接。请注意,这个示例假设我们的数据库和Excel文件都位于本地主机上,并且我们知道它们的准确位置。
如何使用python将查询结果写入同一个excel文件的不同sheet?
你可以使用Python中的pandas模块来实现将查询结果写入同一个Excel文件的不同sheet。具体步骤如下:
1. 导入pandas模块。
```python
import pandas as pd
```
2. 连接数据库并执行查询操作。
```python
import pymysql
# 连接数据库
db = pymysql.connect(host='localhost', user='root', password='123456', database='testdb')
cursor = db.cursor()
# 执行查询操作
sql = 'SELECT * FROM students'
cursor.execute(sql)
result = cursor.fetchall()
```
3. 将查询结果转换为DataFrame格式。
```python
df = pd.DataFrame(list(result), columns=['id', 'name', 'age'])
```
4. 创建Excel文件并写入数据。
```python
# 创建Excel文件
writer = pd.ExcelWriter('result.xlsx')
# 将DataFrame写入不同的sheet
df.to_excel(writer, sheet_name='students')
# 保存Excel文件
writer.save()
```
在上面的代码中,我们使用了pandas模块中的ExcelWriter类来创建Excel文件,并使用to_excel方法将DataFrame写入到不同的sheet中。最后,我们调用save方法保存Excel文件。
你可以根据需要修改sheet_name的名称,以便更好地组织数据。