python - Converting generator from read_sql in pandas to dataframe has failed
问题描述
I want to read data from my oracle, I use the pandas's read_sql
and set the parameter chunksize=20000
,
from sqlalchemy import create_engine
import pandas as pd
engine = create_engine("my oracle")
df = pd.read_sql("select clause",engine,chunksize=20000)
It returns a iterator, and I want to convert this generator to a dataframe usingdf = pd.DataFrame(df)
, but it's wrong, How can the iterator be converted to a dataframe?
解决方案
这个迭代器可以连接起来,然后它返回一个数据框:
df = pd.concat(df)
您可以查看pandas.concat文件。
如果不能concat
直接使用,请尝试以下方法:
gens = pd.read_sql("select clause",engine,chunksize=20000)
dflist = []
for gen in gens:
dflist.append(gen)
df = pd.concat(dflist)
推荐阅读
- angular - ngrx updateOne 更改 ids 数组排序
- angular - 从角度列表中按名称或IP地址搜索
- git - GIT LFS(仅支持 application/vnd.git-lfs 和 application/vnd.git-lfs+json)
- sql - 数据库连接问题。如何正确连接2个表
- arrays - Numba 可以将 OpenCV 图像始终视为行优先数组吗?
- java - Spring Boot JWT 角色并获得 401 Unauthorized
- flutter - 如何在 Flutter 上禁用 SSL 固定?
- python - Use Ipython-sql with snowflake and externalbrowser authenticator
- laravel - 如何在 laravel 中格式化时间戳?
- javascript - if 语句在不应该执行的时候执行