10

在从 SQL 数据库读取大型关系到 pandas 数据帧时,最好有一个进度条,因为元组的数量是静态已知的,并且可以估计 I/O 率。看起来该tqdm模块有一个函数tqdm_pandas可以报告列上映射函数的进度,但默认情况下调用它并没有像这样报告 I/O 进度的效果。是否可以tqdm在调用时使用进度条pd.read_sql

4

1 回答 1

9

编辑:答案可能具有误导性 -chunksize对操作的数据库端没有影响。请参阅下面的评论。

您可以使用该chunksize参数执行以下操作:

chunks = pd.read_sql('SELECT * FROM table', con=conn, chunksize=100)

df = pd.DataFrame()
for chunk in tqdm(chunks):
    df = pd.concat([df, chunk])

我认为这也会使用更少的内存。

于 2016-10-27T22:51:12.193 回答