Страницу Назад
Поискать другие аналоги этой работы
350 Лабораторная работа №3 по дисциплине: Обработка и анализ данных. Вариант для всехID: 245555Дата закачки: 27 Июля 2024 Продавец: SibGUTI (Напишите, если есть вопросы) Посмотреть другие работы этого продавца Тип работы: Работа Лабораторная Форматы файлов: Microsoft Word Сдано в учебном заведении: ДО СИБГУТИ Описание: Лабораторная работа №3. Работа с БД Создать программу для работы с базой данных, при этом добавив обработку исключительных ситуаций. База данных должна содержать не менее 5 связанных таблиц. У программы должен быть графический интерфейс (возможность отображать таблицы с помощью библиотеки Pandas, редактировать таблицы с помощью интерактивных форм) [https://colab.research.google.com/notebooks/forms.ipynb]. По сохраненным данным в таблицах построить минимум 3 различных аналитических графика [https://colab.research.google.com/notebooks/charts.ipynb, https://colab.research.google.com/notebooks/widgets.ipynb] с помощью библиотеки matplotlib. Создание базы данных с помощью SQLite SQLite - это библиотека, написанная на языке C, которая предоставляет легкую дисковую базу данных, не требующую отдельного серверного процесса и позволяющую получить доступ к базе данных с использованием нестандартного варианта языка запросов SQL. Некоторые приложения могут использовать SQLite для внутреннего хранения данных. Также возможно создать прототип приложения с использованием SQLite, а затем перенести код в большую базу данных, такую как PostgreSQL или Oracle. Модуль sqlite3 был написан Герхардом Херингом. Он предоставляет интерфейс SQL, соответствующий спецификации DB-API 2.0, описанной в PEP 249 [https://docs.python.org/2/library/sqlite3.html]. Для создания новой базы данных необходимо импортировать библиотеку sqlite3(она уже предварительно установлена в google-лаборатории) и вызвать функцию соединения с базой. При первом вызове буде создан файл «mydatabase.db» После этого в текущей папке появится новый файл «mydatabase.db», который можно увидеть, используя команду !ls: После этого в текущей папке появится новый файл «mydatabase.db», который можно увидеть, используя команду !ls: Можно создавать временные базы данных, хранящиеся в оперативной памяти, при этом файл сохраняться не будет, и доступность будет ограничена текущей сессией: После получения соединения, вы можете обращаться к базе данных с помощью объекта типа cursor. Выполнение запросов к базе выполняется с помощью его метода execute(): В данном примере в базе данных «mydatabase» создается таблица «students»со следующими полями: «id» – первичный ключ, обозначающий номер студента, «FIO» – ФИО студента типа «текст» и «yearbirth» – год рождения типа «текст». Добавлять поля с первичным ключом в таблицу не обязательно, он автоматически сгенирируется во время создания таблицы. Но, если вы его задали при создании таблицы, то именно это поле будет первичным ключом. Добавление данных в таблицу осуществляется с помощью SQL-команды «INSERT». После добавления записи необходимо сохранить изменения с помощью функции comit(). SQLite не пишет в базу данных, пока вы не совершите транзакцию. Транзакция состоит из 1 или более запросов, которые вносят изменения в базу данных одновременно. Это сделано для того, чтобы упростить восстановление после случайных изменений или ошибок. Транзакции позволяют выполнить несколько запросов, а затем, наконец, изменить базу данных с результатами всех из них. Это гарантирует, что в случае сбоя одного из запросов база данных не будет частично обновлена Вывод записей таблицы на экран: Первый запрос, который мы выполнили, называется SELECT *, что означает, что мы хотим выбрать все записи из таблицы “students”, отсортированные по полю “id”. Удаление записи из базы данных: В запросе из таблицы students удаляются данные, у которых в поле FIO записано «Savelieva Anastasia» Вывод записей таблицы на экран после удаления строки: Здесь мы в запросе SELECT указали еще rowid – это первичный ключ таблицы по-умолчанию. Можно пользоваться им, можно создать свой собственный, как в нашем случае поле “id”. Видно, что строка с FIO «Savelieva Anastasia» была удалена из таблицы. Запрос на выбор всех студентов, у которых год рождения 2002: Мы выполняем SQL и используем функцию fetchall() для получения результатов. Можно также использовать функцию fetchone() для получения только первого результата. Функция execute() выполняет sql-запрос на выбор данных из таблицы. Как видите, результаты отформатированы в виде списка кортежей. Каждый кортеж соответствует строке в базе данных, к которой мы обращались. Работа с данными таким способом довольно болезненна. Нам нужно вручную добавить заголовки столбцов и вручную проанализировать данные. К счастью, у библиотеки панд есть более простой способ, который мы рассмотрим в следующем разделе. Пример ниже показывает, как команда LIKE используется при поиске частичных фраз. В нашем случае, мы искали по всей таблице FIO, которые начинаются с “S”. Знак процента (%) является подстановочным оператором. В результате данного запроса были выбраны все студенты, чья фамилия начиналась на “S”. Прежде чем двигаться дальше, рекомендуется закрыть открытые объекты Connection и Cursor. Это предотвращает блокировку базы данных SQLite. Когда база данных SQLite заблокирована, возможно, вы не сможете обновить базу данных и получите ошибки. Мы можем закрыть курсор и соединение следующим образом: Работа с SQLite и Pandas DataFrame Для чтения результатов SQL-запроса можно использовать функцию read_sql_query библиотеки pandas DataFrame. Приведенный ниже код выполнит тот же запрос, который мы только что сделали, но вернет DataFrame. Он имеет несколько преимуществ по сравнению с запросом, выполненным нами ранее, т.к.  Не требуется создание объекта Cursor или вызова fetchall в конце.  Имена заголовков из таблицы считываются автоматически.  Создается DataFrame, позволяющий быстро отобразить и изучить данные. В результате получаем красиво отформатированный объект DataFrame, с помощью него можно легко обратиться к определенному столбцу таблицы и вывести все имена и фамилии студентов: Создание таблиц с помощью Pandas Пакет pandas дает нам гораздо более быстрый способ создания таблиц. Нам просто нужно сначала создать DataFrame, а затем экспортировать его в таблицу SQL. Сначала мы создадим DataFrame: Затем мы сможем вызвать метод to_sql для преобразования df в таблицу в базе данных. Мы устанавливаем параметр if_exists для замены, чтобы удалить и заменить любые существующие таблицы с именем “raspisanie”: Затем мы можем проверить, что все работает, запросив базу данных: Редактирование таблиц с помощью Pandas Пи работе с данными иногда приходится изменять конфигурацию таблиц. Допустим в ранее созданную таблицу “raspisanie” нам необходимо добавить поле аудитория («room»). Сначала сделаем это с помощью курсора cur: Обратите внимание, что в SQLite все столбцы имеют значение null (что в Python переводится как None), поскольку для этого столбца еще нет никаких значений. В библиотеке Pandas также предусмотрена подобная функция редактирования таблиц: Дополнительные ссылки: 1.https://pandas.pydata.org/pandasdocs/stable/getting_started/comparison/comparison_with_sql.html 2. https://docs.python.org/3/library/sqlite3.html 3.http://sebastianraschka.com/Articles/2014_sqlite_in_python_tutorial.html Создание и редактирование интерактивных форм Формы позволяют удобно редактировать код. Выделив текущую ячейку кода необходимо выбрать раздел Insert → Add form field. При изменении значения в форме изменяется соответствующая строка кода [https://colab.research.google.com/notebooks/forms.ipynb]. Для сокрытия кода необходимо выбрать раздел Edit → Show/hide code. Для обращения таблицам и полям можно использовать интерактивные поля ввода Комментарии: Уважаемый студент дистанционного обучения, Оценена Ваша работа по предмету: Обработка и анализ данных Вид работы: Лабораторная работа 3 Оценка: Зачет Дата оценки: 17.05.2024 Рецензия: Уважаемый ..............................................., Данилова(Ермоленко) Любовь Филипповна В отчете файл: .doc и .ipynb Размер файла: 322,1 Кбайт Фаил: ![]() ------------------- Обратите внимание, что преподаватели часто переставляют варианты и меняют исходные данные! Если вы хотите, чтобы работа точно соответствовала, смотрите исходные данные. Если их нет, обратитесь к продавцу или к нам в тех. поддержку. Имейте ввиду, что согласно гарантии возврата средств, мы не возвращаем деньги если вариант окажется не тот. -------------------
Коментариев: 0 |
||||
Есть вопросы? Посмотри часто задаваемые вопросы и ответы на них. Опять не то? Мы можем помочь сделать! Некоторые похожие работы:СИНЕРГИЯ Методологические проблемы психологии Тест 100 баллов 2023 годУниверситет «Синергия» Методологические проблемы психологии (Темы 1-4 Итоговый тест) СИНЕРГИЯ Методика литературного чтения с практикой читательской деятельности Тест 93 балла 2024 год Обработка и анализ данных. Контрольная работа и Лабораторные работы 1, 2, 3. Вариант 03. Контрольная и Лабораторная работа №1,2,3 по дисциплине: Алгоритмы и структуры данных. Вариант №05 Курсовая работа по дисциплине: Информатика и программирование (часть 2). Вариант №13 Контрольная работа и Лабораторные работы №№(1-2) по дисциплине: Планирование и управление информационной безопасностью. Вариант №1 Ещё искать по базе с такими же ключевыми словами. |
||||
Не можешь найти то что нужно? Мы можем помочь сделать! От 350 руб. за реферат, низкие цены. Спеши, предложение ограничено ! |
Вход в аккаунт:
Страницу Назад
Cодержание / Обработка и анализ данных / Лабораторная работа №3 по дисциплине: Обработка и анализ данных. Вариант для всех
Вход в аккаунт: