gpt4 book ai didi

Python pandas read_sql 返回生成器对象

转载 作者:太空宇宙 更新时间:2023-11-04 08:54:47 27 4
gpt4 key购买 nike

我正在使用 pyodbc 和 pandas read_sql 从 Oracle 数据库中提取数据。

当我输入这一行时我没有看到任何错误

df = pd.read_sql(sql_str,cnxn,chunksize=10)

但是当我试图看到

df

我收到这个错误

<generator object _query_iterator at 0x092D40F8>

我对该错误的含义或可能导致该错误的原因进行的搜索没有得到令人满意的答案。

使用chunksize的原因是我有一个6000万行的Oracle db表,打算按位下载然后拼在一起,就像这里: How to create a large pandas dataframe from an sql query without running out of memory?

最佳答案

正如 chunksize 的解释所说,当指定时,它返回一个迭代器,其中 chunksize 是要包含在每个 block 中的行数
所以你可以遍历结果并对每个 block 做一些事情:

for chunk in pd.read_sql_query(sql_str, engine, chunksize=10):
do_something_with(chunk)

通常您可以处理 block 并将其添加到列表中,然后在此 for 循环之后将此列表中的所有已处理 block 连接在一起。

另请参阅有关 sql 查询的文档:http://pandas.pydata.org/pandas-docs/stable/io.html#querying举个例子。

关于Python pandas read_sql 返回生成器对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31170012/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com