Непрерывная интеграция с Pandas



 

Но это еще не все. Дело в том, что, являясь встроенной функцией Python, SQLite может легко интегрироваться с фреймом данных Pandas.

Определяем фрейм данных:

df_skill = pd.DataFrame({
'user_id': [1,1,2,2,3,3,3],
'skill': ['Network Security', 'Algorithm Development', 'Network Security', 'Java', 'Python', 'Data Science', 'Machine Learning']
})

Затем просто вызываем метод фрейма данных to_sql(), чтобы сохранить его в базе данных:

df_skill.to_sql('SKILL', con)

И это все, что нужно сделать! Вам даже не придется создавать таблицу заранее — типы данных и длина столбцов будут определены автоматически. Конечно, при желании вы также можете определить ее заранее.

Допустим, мы хотим объединить таблицу USER и SKILL и прочитать результат во фрейме данных Pandas. Это тоже можно выполнить без проблем.

df = pd.read_sql('''
SELECT s.user_id, u.name, u.age, s.skill
FROM USER u LEFT JOIN SKILL s ON u.id = s.user_id
''', con)

Результаты запишем в новую таблицу под названием USER_SKILL:

df.to_sql('USER_SKILL', con)

Теперь мы также можем использовать клиент SQL для получения таблицы:

Выводы

 

В Python есть множество скрытых сюрпризов. Но скрыты они не специально: дело лишь в том, что в Python настолько много функций «из коробки», что невозможно раскрыть их все сразу.

В этой статье мы узнали, как использовать встроенную библиотеку Python sqlite3 для создания таблиц и манипулирования ими в базе данных SQLite. Конечно, она также поддерживает обновление и удаление, которые вы можете попробовать самостоятельно.

Но самое главное, мы можем легко прочитать таблицу из базы данных SQLite во фрейме данных Pandas и наоборот. Такая возможность еще больше упрощает взаимодействие с этой легкой реляционной базой данных.

Возможно, вы заметили, что в SQLite нет аутентификации. С ней бы данная библиотека перестала быть такой легкой.

Открывайте для себя еще больше удивительных возможностей Python!

Весь код из этой статьи находится в моем Google Colab Notebook.

 


Дата добавления: 2020-12-22; просмотров: 70; Мы поможем в написании вашей работы!

Поделиться с друзьями:






Мы поможем в написании ваших работ!