Find centralized, trusted content and collaborate around the technologies you use most.
Teams
Q&A for work
Connect and share knowledge within a single location that is structured and easy to search.
在从 SQL 数据库读取大型关系到 pandas 数据帧时,最好有一个进度条,因为元组的数量是静态已知的,并且可以估计 I/O 率。看起来该tqdm模块有一个函数tqdm_pandas可以报告列上映射函数的进度,但默认情况下调用它并没有像这样报告 I/O 进度的效果。是否可以tqdm在调用时使用进度条pd.read_sql?
tqdm
tqdm_pandas
pd.read_sql
编辑:答案可能具有误导性 -chunksize对操作的数据库端没有影响。请参阅下面的评论。
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])
我认为这也会使用更少的内存。