def read_sql_chunked(query, con, nrows, chunksize=1000):
    start = 1
dfs = []
while start < nrows:
    df = pd.read_sql('%s LIMIT %s OFFSET %s' % (query, chunksize, start), con)
dfs.append(df)
Вытягивать большие объемы данных с удаленного сервера в DataFrame