И вот я сдвинулся с мертвой точки - поставил SQLite и попробовал с ней поработать в Блокноте Юпитера с Питоном и Пандой.
Был выбран SQLite именно из-за простоты - там база представляет из себя отдельный файл и все просто, не надо никаких хитрых настроек для аутентифиакации или авторизации, заведение пользователей и прочие DBA задачи, которые возникнут если использовать MySQL или PostgreSQL - бери и пользуйся. Для хранения данных при чисто личном доступе для анализа - больше и не надо.
По факту оказалось что и так все нужно было установлено - я поставил только DB Browser for SQLite, причем ставится он прямо из установки ПО для Убунты
Далее я создал простенькую базу с одной таблицей из двух колонок и добавил туда две записи
Далее я сохранил файл, создал папку в Блокноте Юпитера и скопировал файл базы туда, чтобы пользоваться чисто именем файла без пути.
Замечание: при сохранении файла в DB Browser for SQLite если чисто указать имя, то файл сохранится без расширения db и потом, когда его требуется открыть, он не виден по-умолчанию в папке и надо менять фильтр с SQLite database files на all files.
Теперь заглянем сюда, где показано как работать с базой в Юпитере Interacting With Your SQLite DB in a Jupyter Notebook и по образцу сделаем код:
# импорты
import pandas as pd
import sqlite3
# соединяемся с базой
conn = sqlite3.connect("test1")
# создаем курсор
cur = conn.cursor()
Проверяем что данные на месте:
# выполняем запрос
cur.execute("select * from test;")
# вытаскиваем все данные и печатаем
results = cur.fetchall()
print(results)
Итак, c данными у нас порядок.
Теперь можно это оправить в Панду:
df = pd.read_sql_query("select * from test", conn)
df
И в заключении закрываем курсор и соединение:
cur.close()
conn.close()
Собственно и все - код простой и все работает как надо.
No comments:
Post a Comment