繁体   English   中英

Python Pandas read_sql返回生成器对象

[英]Python pandas read_sql returns generator object

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

输入此行时,我看不到任何错误

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

但是当我试图看到

df

我得到这个错误

<generator object _query_iterator at 0x092D40F8>

我对这个错误的含义或可能导致的错误的搜索没有得到满意的答案。

使用chunksize的原因是,我有一个包含6000万行的Oracle数据库表,并计划按位下载然后将它们放在一起,就像这里一样: 如何从sql查询中创建大熊猫数据帧而不会耗尽内存?

就像chunksize的说明所说,当指定时,它返回一个迭代器,其中chunksize是每个chunk中要包括的行数
因此,您可以遍历结果并对每个块进行一些操作:

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

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

另请参见有关sql查询的文档: http//pandas.pydata.org/pandas-docs/stable/io.html#querying以获得示例。

我想发表评论,但不能发表评论。 无论如何,这并不是告诉您df是生成器对象的错误。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM