Python School
82.1K subscribers
2.42K photos
8 videos
582 links
Уроки по Python, которые упростят вам жизнь. Без идиотских туториалов.

Наши мемы для программистов: @conhum

Сотрудничество - @alivian

Канал сотрудничает с рекламным сервисом @Tgpodbor_official

РКН: clck.ru/3G6pBb
Download Telegram
Базы Данных (CSV)

Безусловно прошлый способ с данными в txt файле действенный, но им никто не пользуется. Обычно использую более проlвинутые БД с использованием SQL.

Вот только иногда с txt работать намного проще, а возможно и быстрее. В таком случае рекомендуем использовать формат CSV. Хороший пример - таблица из значений температуры по дням (в выходные наблюдение не велось):

Data;Monday;Tuesday;Wednesday;Wednes­day;Friday
1;1.7;2.8;14;16.9;5.0

Еще можно к примеру хранить местоположение объектов, для работы с CSV есть специальный модуль, который так и называется csv. На картинке предоставлен вывод. Сохранение файла делается почти так же, как и у списков. Подробнее в следующем посте.

#Базы_Данных #CSV
Базы Данных

Разберем подробнее библиотеку CSV. Модуль имеет два основных метода reader и writer, для чтения и записи соответственно. Не забывайте указывать кодировку, чаще всего это 'utf8'

В некоторых случаях при открытии файла рекомендуется получить одну строку, без 'n'. Делается это так: open(file, newline='')

При начале работе с csv указываем разделитель delimiter=';' и разделитель текста quotechar='"'

Чтение возвращает итерируемый объект, а записать что-то в файл можно через метод writerow.

#Базы_Данных #CSV
Базы Данных

Задавались вопросом зачем первой строчкой пишем ненужные данные? Можно же просто запомнить, где что. Наша же программа.

Но, во-первых, не забываем про уважение к коллегам, код должен быть максимально понятен. А еще можно получить вместо списка словарь и получать значения по ключу. Делается это методом DictReader для чтения и DictWriter для записи.

Этими методами вы упростите жизнь и себе, и коллегам, которые будут смотреть ваш код.

Чтение DictReader пример на картинке. А вот при записи все происходит точно так же, как и раньше, за исключением того, что применяем метод DictWriter, а затем writer.writeheader() для записи первой заглавной строки. Данные записываем методом writerow, где аргумент - словарь.

#Базы_Данных #CSV