更新:请确保检查以下答案,因为Pandas现在具有对分块加载的内置支持。
您可以简单地尝试逐块读取输入表,然后从各个部分组装完整的数据框,如下所示:
import pandas as pdimport pandas.io.sql as psqlchunk_size = 10000offset = 0dfs = []while True: sql = "SELECt * FROM MyTable limit %d offset %d order by ID" % (chunk_size,offset) dfs.append(psql.read_frame(sql, cnxn)) offset += chunk_size if len(dfs[-1]) < chunk_size: breakfull_df = pd.concat(dfs)
整个数据帧也可能太大而无法容纳在内存中,在这种情况下,除了限制选择的行数或列数之外,您别无选择。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)