sqlalchemy orm查询数据库后使用pandas用函数的方式导出excel
时间: 2024-03-26 18:41:56 浏览: 132
可以按照以下步骤使用pandas将查询结果导出为Excel文件:
1. 导入必要的库:
``` python
import pandas as pd
from sqlalchemy.orm import sessionmaker
from sqlalchemy import create_engine
```
2. 创建数据库连接:
``` python
engine = create_engine('mysql+pymysql://user:password@host:port/database_name')
```
注意将上面的`user`、`password`、`host`、`port`和`database_name`替换为实际的值。
3. 创建Session对象:
``` python
Session = sessionmaker(bind=engine)
session = Session()
```
4. 执行查询操作并将结果存储到DataFrame中:
``` python
result = session.query(Table.column1, Table.column2).filter(Table.column3 == 'value').all()
df = pd.DataFrame(result, columns=['column1', 'column2'])
```
注意将上面的`Table`、`column1`、`column2`和`column3`替换为实际的值,并根据需要添加其他查询条件。
5. 将DataFrame写入Excel文件:
``` python
writer = pd.ExcelWriter('output.xlsx')
df.to_excel(writer, index=False)
writer.save()
```
注意将上面的`output.xlsx`替换为实际的输出文件名。
完整代码示例:
``` python
import pandas as pd
from sqlalchemy.orm import sessionmaker
from sqlalchemy import create_engine
engine = create_engine('mysql+pymysql://user:password@host:port/database_name')
Session = sessionmaker(bind=engine)
session = Session()
result = session.query(Table.column1, Table.column2).filter(Table.column3 == 'value').all()
df = pd.DataFrame(result, columns=['column1', 'column2'])
writer = pd.ExcelWriter('output.xlsx')
df.to_excel(writer, index=False)
writer.save()
```
阅读全文