Connect with us

Обучение

Заметки Python #17: Формат хранения данных

70

 

Продолжая тему клиент-серверных приложений, затронем такой момент, как формат хранения данных, которые идут от этого самого клиенту к этому самому серверу. 

Какие еще форматы данных?

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

Формат CSV

CSV (comma-separated value) — формат передачи данных в виде таблиц. Данные можно извлечь из самой таблицы — отдельная строка файла соответствует строке таблицы, а разделителем может быть не только запятая, но и любые другие.

[adace-ad id=»3473″]

 

Как выглядят данные записанные в формате CSV?

Это определенный набор списков. Первый — названия столбцов, все остальные — значения:

Как прочитать данные из файла .csv?

В Python есть специальный модуль для работы с этим форматом — csv. Чтобы прочитать данные с файла используется метод reader. В качестве параметра ей передается ссылка на файл (объект), с которого будет считана информация

 

Результат:

Как отделить заголовки от содержимого в CSV?

Чтобы отделить заголовки от содержимого можно использовать метод next

 

Результат:

[adace-ad id=»3482″]

 

Метод DictReader

В модуле csv есть отдельный метод для вывода данных таким образом, чтобы каждой строке таблицы соответствовал словарь (dict), в котором в котором элементы представляют собой связку {key (название столбца): value (значение столбца)}. Метод называется DictReader

 

Результат:

Как записать данные в файл формата .csv?

По аналогии с чтением данных, в Питоне, с помощью модуля csv, можно записать данные формата csv в файл. Сделать это можно с помощью метода csv.writer(file)

 

Результат:

Правилом хорошего тона считается указывать кавычки для каждого значения. Их можно не указывать, но часто это приветствуется:

 

Результат:

[adace-ad id=»3470″]

 

Метод writerows

Метод writecows создан для передачи объекта (список, кортеж), в которых содержаться данные, в качестве аргумента. Это избавит от построчного записывания данных в файл.

 

Результат:

Метод DictWriter

DictWriter — метод из модуля csv, которые работает только со словарями Python версии от 3.6 — необходимо явно указывать порядок следования столбцов в файле. За это отвечает параметр fieldnames. Можно указать свой разделитель с помощью параметра delimiter

 

Результат:

Формат JSON

JSON — популярный в web’е формат передачи, хранения и обмена данными. Конечно же в Питоне тоже есть специальный модуль для работы с такими данными — json. Как выглядит обычный JSON-файл? Что у него внутри?

Как прочитать JSON-формат в Python?

Для чтения данных из JSON-объектов используются методы load и loads модуля json. Первый считывает файл в JSON-формате и возвращает python-объекты. Второй — отвечает за считывание строки в JSON-формате и тоже возвращает python-объекты

 

Результат:

Как записать JSON-формат в Python?

Методы dump и dumps из модуля json помогают нам записать данные в формате json на Питоне. Dump сохраняет python-объект в файл .json. Dumps — возвращает строку в JSON-формате — например, для последующей ее передачи в API. Методы dump() и dumps() пользуются одними и теми же аргументами ключевых слов. Формат JSON может не совпадать с исходным python-форматом. Например, кортежи при записи в JSON конвертируются в списки.

 

Результат

Как преобразуются данные при сериализации JSON?

 

PythonJSON
dictobject
list, tuplearray
strstring
int, floatnumber
Truetrue
Falsefalse
Nonenull
JSONPython
objectdict
arraylist
stringstr
number (int)int
number (real)float
trueTrue
falseFalse

 

При использовании формата JSON есть ограничение: нет возможности сохранить словарь, где в качестве ключей — кортежи

[adace-ad id=»3474″]

 

Формат YAML

YAML («Ain’t Markup Language») — формат сериализации данных, который считают максимально user-friendly по синтаксису и удобству форматирования данных.  Структура и синтаксис практически такой же, как на Python — используются отступы, сделанные с помощью пробелов (использовать tab нельзя). Список в YAML  —  структурирован. При этом каждый элемент записывается в своей строке и маркируется символом «- » (обязательно с пробелом после него). Все строки набора должны иметь одинаковую величину отступа. Все эти же правила справедливы и для типа данных «словарь» (dict). В YAML так же могут быть комбинации элементов в словаре (dict) каждому ключу будет соответствовать набор элементов в виде списка (list)

 

Как считать YAML-формат?

Для работы с YAML, как и с другими типами данных, в Python заготовлен отдельный модуль — yaml

Результат:

Запись данных в .yaml-файл

Как записать обычный python-объект в .yaml-файл? Предположим, что нам нужен записать словарь с элементами в виде списка в формате YAML:

 

Результат:

 

Нажмите что бы оставить комментарий

Ответить

Ваш e-mail не будет опубликован.

Лучшие сервисы стриминга музыки в 2019 году

Сервисы

autoteka-digital2-vin autoteka-digital2-vin

Проверка авто по Автотеке: может ли она обмануть?

Сервисы

Wink Ростелеком: Samsung LG, Sony, Phillips, Android TV

Ростелеком

LG WEB OS: приложения, обновления, настройка, проблемы со звуком

Гаджеты

.

Digital2.ru - Тренды, IT, WEB- разработка, Цифровая экономика
Свободное копирование и распространение материалов с сайта Digital2.ru
разрешено только с указанием активной ссылки на Digital2 как на источник.
Данный сайт в ходит структуру медиа группы: Online Payments Group Intellect Organic
Товарный знак: OPGIO
Copyright 2019 © All rights reserved

Connect
Подпишись на нас