В документации к Pandas есть множество примеров лучших практик работы с данными, хранящимися в различных форматах.
Однако я не могу найти хороших примеров для работы, например, с базами данных, такими как MySQL.
Может ли кто-нибудь указать мне ссылки или дать несколько фрагментов кода о том, как эффективно преобразовать результаты запроса с помощью mysql-python во фреймы данных в Pandas?
Ответы:
Как говорит Уэс, read_sql io / sql сделает это, как только вы установили соединение с базой данных с использованием библиотеки, совместимой с DBI. Мы можем посмотреть на два коротких примерах использования
MySQLdb
иcx_Oracle
библиотек для подключения к Oracle и MySQL и запросами своих словарей данных. Вот примерcx_Oracle
:А вот эквивалентный пример для
MySQLdb
:источник
Для недавних читателей этого вопроса: панды имеют следующее предупреждение в своих документах для версии 14.0 :
И:
Это делает многие ответы здесь устаревшими. Вам следует использовать
sqlalchemy
:источник
engine.execute("select * FROM mytable")
со временем, требуемым для выполненияpd.read_sql_query('SELECT * FROM mytable', engine)
Для записи вот пример использования базы данных sqlite:
источник
index_col='timestamp'
вframe_query
.Я предпочитаю создавать запросы с помощью SQLAlchemy , а затем делать из него DataFrame. SQLAlchemy облегчает комбинировать SQL условия Pythonically , если вы собираетесь смешивать и сочетать вещи снова и снова.
источник
dialect+driver://user:pwd@host:port/db
Пример MySQL:
источник
frame_query
устарела. Теперь используйтеpd.read_sql(query, db)
вместо этого.Тот же синтаксис работает для сервера Ms SQL с использованием podbc.
источник
Вот как вы подключаетесь к PostgreSQL с помощью драйвера psycopg2 (установите с помощью «apt-get install python-psycopg2», если вы используете производную ОС Debian Linux).
источник
Для Sybase работает следующее (с http://python-sybase.sourceforge.net )
источник
pandas.io.sql.frame_query
устарела.pandas.read_sql
Вместо этого используйте .источник
импортировать модуль
подключиться
Это прекрасно работает и с использованием pandas.io.sql frame_works (с предупреждением об устаревании). Используемая база данных - это образец базы данных из учебника mysql.
источник
Это должно работать нормально.
источник
Это помогло мне подключиться к AWS MYSQL (RDS) из лямбда-функции на основе python 3.x и загрузить в pandas DataFrame.
источник
Для пользователей Postgres
источник