При чтении больших отношений из базы данных SQL в базу данных pandas было бы неплохо иметь индикатор выполнения, поскольку количество кортежей известно статически и можно оценить оценку ввода-вывода. Похоже, что модуль tqdm
имеет функцию tqdm_pandas
, которая будет сообщать о ходе работы над функциями сопоставления по столбцам, но по умолчанию его вызов не влияет на отчетность о ходе ввода-вывода, как это. Можно ли использовать tqdm
, чтобы сделать индикатор выполнения при вызове pd.read_sql
?Может ли tqdm использоваться с чтением базы данных?
1
A
ответ
4
Вы можете использовать параметр 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])
Я думаю, что это будет использовать меньше памяти, а также.
Не боюсь, потому что 'pandas' просто отправляет запрос в базу данных и ждет ответа. Промежуточная обратная связь до тех пор, пока не достигнет всего набора результатов. –