Панды: загрузить таблицу в фрейм данных с read_sql - параметр `con` и имя таблицы - PullRequest
0 голосов
/ 15 мая 2019

При попытке импортировать базу данных sql в фрейм данных Python Pandas, и я получаю синтаксическую ошибку.Я новичок здесь, поэтому, вероятно, проблема очень проста.

После загрузки sqlite образца chinook.db из http://www.sqlitetutorial.net/sqlite-sample-database/ и чтения документации для панд, я попытался загрузить его в фрейм данных pandas с

import pandas as pd
import sqlite3

conn = sqlite3.connect('chinook.db')
df = pd.read_sql('albums', conn) 

, где 'albums' - это таблица 'chinook.db', собранная из sqlite3 из командной строки.

Результат:

...
DatabaseError: Execution failed on sql 'albums': near "albums": syntax error

Я пробовал вариантыприведенный выше код для импорта в сеансе ipython таблиц базы данных для исследовательского анализа данных, но безуспешно.Что я делаю неправильно?Есть ли документация / учебное пособие для новичков с примерами?

Заранее спасибо за помощь!

1 Ответ

0 голосов
/ 15 мая 2019

Нашли!

Пример соединения БД с SQLAlchemy можно найти здесь: https://www.codementor.io/sagaragarwal94/building-a-basic-restful-api-in-python-58k02xsiq

import pandas as pd
from sqlalchemy import create_engine

db_connect = create_engine('sqlite:///chinook.db') 
df = pd.read_sql('albums', con=db_connect)
print(df)

Как подсказывает @ Anky_91, pd.read_sql_table также работает, как и read_sql.

Проблема была в соединении, которое должно быть сделано с помощью SQLAlchemy, а не с sqlite3.

Спасибо

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...