Поиск

вторник, 4 декабря 2018 г.

Формат файлов JSON

Одним из широко распространённых форматов файлов для обмена данными в сети является текстовый формат json.

JSON позволяет изящно и понятно хранить сложные структуры данных (в т.ч. и последовательности, которые иногда называют массивами) в читабельном виде.

По сути json - это словарь (ассоциативный массив), элементами которых могут быть как словари (отличительный признак - {}, фигурные скобки), так и списки (отличительный признак - [], квадратные).

Пусть дан файл с расширением *.json (это обычный текстовый файл), содержащий следующее:

{
  "orderID": 12345,
  "shopperName": "Иван",
  "shopperEmail": "ivanov@example.com",
  "contents": [
    {
      "productID": 34,
      "productName": "Super product",
      "quantity": 1
    },
    {
      "productID": 56,
      "productName": "Super product",
      "quantity": 3
    }
  ],
  "orderCompleted": true
}

С помощью модуля ... json (неожиданно, неправда ли!?) в python его можно легко считать в словарь (dictionary).

Если в файле содержатся кириллические символы (русские буквы в просторечье), то не забудем вставить encoding="utf-8" в качестве аргумента для open.

Итого код для чтения json-файла выглядит так

import json

f = open('./templates/new.json',  encoding="utf-8")
dic = json.load(f)   # dic - словарь
f.close()

Т.к. dic - это просто словарь, то в него можно добавлять элементы. Добавим список с ключом "alpha". Модифицированный словарь запишем в виде json-файла.
Т.к. в словаре есть кириллица, то не забудем добавить аргумент ensure_ascii=False.

#Чтение, модификация и запись
import json

f = open('./templates/new.json',  encoding="utf-8")
dic = json.load(f)
print(dic.keys())
f.close()

dic['alpha'] = [1, 2, 4, 5]

with open('data.json', 'w') as outfile:
    json.dump(dic, outfile, ensure_ascii=False)

вторник, 6 ноября 2018 г.

суббота, 3 ноября 2018 г.

Яндекс PyData 2018


13 октября в офисе Яндекса прошел митап PyData Moscow, посвящённый анализу больших данных с использованием языка Python. Публикуем записи докладов и мастер-классов.
МАСТЕР-КЛАССЫ:
1. Решение задач классификации при помощи CatBoost – Никита Дмитриев
https://www.youtube.com/watch?v=xl1fwCza9C8&feature=youtu.be
2. Yargy-парсер. Извлечение структурированной информации из текстов на русском языке – Александр Кукушкин
https://www.youtube.com/watch?v=NQxzx0qYgK8&feature=youtu.be
ДОКЛАДЫ:
1. Процесс полуавтоматической разметки данных – Кирилл Данилюк
https://www.youtube.com/watch?v=nK2Ra0Xq0So&feature=youtu.be
2. Canary deployment, мониторинг и тестирование моделей силами одного специалиста – Александр Дмитриев
https://www.youtube.com/watch?v=h-vbysp1Tso&feature=youtu.be
3. Как мы строили автоматическую систему модерации объявлений ЦИАН – Алексей Бардышев
https://www.youtube.com/watch?v=VAGV7aqani4&feature=youtu.be
4. Нейросети в продакшене на примере NLP сервиса – Виталий Давыдов
https://www.youtube.com/watch?v=eeAH6oK_aPw&feature=youtu.be
5. Как построить собственную систему аналитики за один день – Александр Швец
https://www.youtube.com/watch?v=N7R3hmvguyE&feature=youtu.be

понедельник, 29 октября 2018 г.

воскресенье, 28 октября 2018 г.

f-строки (python 3.6+)

Всё течёт и всё меняется.

Раньше строки можно было форматировать так:

name = 'John'
s = '%s is my name.' % name 

Потом так:

name = 'John'
s = '{} is my name.'.format(name) 

А начиная с версии 3.6 оказывается так:

name = 'John'
s = f'{name} is my name'

Собственно последний вариант и называется f-строками. И мне очень нравится этот синтаксис! Переменные можно теперь подставлять прямо в фигурные скобки, а вместо длинного слова format, просто ставить префикс f перед строкой. Браво!

Подробнее можно посмотреть тут.

четверг, 25 октября 2018 г.

High Performance Scientific Computing by Randall J. LeVeque



Лет пять назад на Coursera был отличный курс "High Performance Scientific Computing by Randall J. LeVeque", который включал материал о целой куче разных технологий (Linux, VM, git, shell, MPI, OpenMP, python, fortran, ipython notebooks, Bitbucket, etc.), которые сегодня стали ещё актуальнее!

Некоторые материалы этого курса до сих пор лежат на сайте университета Вашингтона.

Очень рекомендую. Это