от
У меня есть таблица базы данных SQL Server на Amazon RDS и я использую скрипт Python на сервере 8 ГБ в AWS EC2, на. Python-кода, просто выберите все данные в большой таблице и пытается преобразовать его в ЕС2. Экземпляр EC2 быстро выбегает из памяти, хотя я пытаюсь извлечь каждогодные данные, однако я хотел бы всех извлекаемых данных в CSV (не обязательно использовать панд) Как сейчас код класса DataFrame панды очень удобно
query= 'select * from table_name'
df = pd.read_sql(query,cnxn)
df.to_csv(target_name, index=False)
Ошибки я вижу Обратная трассировка (самый недавний призыв последнего): ДФ = др.read_sql(запрос,cnxn) MemoryError

Ваш ответ

Отображаемое имя (по желанию):
Конфиденциальность: Ваш электронный адрес будет использоваться только для отправки уведомлений.
Анти-спам проверка:
Чтобы избежать проверки в будущем, пожалуйста войдите или зарегистрируйтесь.

1 Ответ

0 голосов
от
Вы будете хотеть использовать стандартные средства управления базы данных SQL вместо Python и здесь панды. Если это базы данных MySQL,
mysql ... 
Если это базы данных PostgreSQL, в psql
сделать что-то подобное
\copy (select * from table_name) To './my
Если это SQL сервер, (через здесь)
sqlcmd 


Если вы действительно хотите использовать панд, вы можете быть в состоянии уйти с параметром chunksize
(корректируйте, если вы работаете из памяти):
with open('my_csv.csv', 'w') as f:
    for i, partial_df in enumerate(pd.read_sql(query, cnxn, chunksize=100000)):
        print('Writing chunk %s' % i)
        partial_df.to_csv(f, index=False, header=(i == 0))
Добро пожаловать на сайт ByNets, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...