tqdm可以用于数据库读取吗?

see*_*ker 4 python pandas tqdm

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

Ale*_*exG 8

您可以使用该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])
Run Code Online (Sandbox Code Playgroud)

我认为这也会减少使用内存.

  • 这不起作用,因为分块发生在“read_sql”完成加载整个集合之后。所有“tqdm”在这里要做的就是测量“pd.concat”操作的进度。 (9认同)
  • 将 chunk 逐一连接起来效率非常低,通常应该避免。 (3认同)