<commit_before>---
title: "Лекция 15. CSV, JSON, YAML"
date: 2021-07-24
tags:
 - lecture
 - labs
category:
 - pyneng-11
---

### Задания

После этой лекции нужно выполнить такие задания (6 заданий):

* Все из раздела 17_serialization

Как минимум:

* 17.1, 17.2, 17.3

### Нюансы работы с csv на Windows

При работе с csv на Windows всегда надо указывать `newline=""` при открытии файла:
```
    with open(output, "w", newline="") as dest:
        writer = csv.writer(dest)
```


### Примеры

Примеры по сегодняшним темам:

* [17_serialization](https://github.com/pyneng/pyneng-online-11-jun-aug-2021/tree/main/examples/17_serialization)

### Дополнительная информация

* [Пример работы с GitHub API с помощью requests](https://pyneng.github.io/pyneng-3/GitHub-API-JSON-example/)
* [Запись кириллицы и других не ASCII символов в формате JSON](https://pyneng.github.io/pyneng-3/json-module/)
* [Работа с GitHub API с помощью модуля PyGithub](https://github.com/pyneng/pyneng-online-9-may-aug-2020/tree/master/scripts)

### Презентация

* [Презентация по сегодняшней лекции](https://github.com/pyneng/all-pyneng-slides/blob/main/pyneng/17_serialization.md)
<commit_msg>lecture 15<commit_after>---
title: "Лекция 15. CSV, JSON, YAML"
date: 2021-07-24
tags:
 - lecture
 - labs
category:
 - pyneng-11
---

### Задания

После этой лекции нужно выполнить такие задания (6 заданий):

* Все из раздела 17_serialization

Как минимум:

* 17.1, 17.2, 17.3

### Нюансы работы с csv на Windows

При работе с csv на Windows всегда надо указывать `newline=""` при открытии файла:
```
    with open(output, "w", newline="") as dest:
        writer = csv.writer(dest)
```


### Примеры

Примеры по сегодняшним темам:

* [17_serialization](https://github.com/pyneng/pyneng-online-11-jun-aug-2021/tree/main/examples/17_serialization)

### Пример большого файла CSV

Файл с full view BGP. Он не добавлен на github из-за размера, его можно скачать самостоятельно:

```
wget https://github.com/intrig-unicamp/ALTO-as-a-Service/raw/master/IXP-PTT-BR/20141208/PTTMetro-LG-Dataset/IPv4/processed/rib.table.lg.ba.ptt.br-BGP.csv.gz
```

Распаковать: `gunzip rib.table.lg.ba.ptt.br-BGP.csv.gz`

### Дополнительная информация

* [Пример работы с GitHub API с помощью requests](https://pyneng.github.io/pyneng-3/GitHub-API-JSON-example/)
* [Запись кириллицы и других не ASCII символов в формате JSON](https://pyneng.github.io/pyneng-3/json-module/)
* [Работа с GitHub API с помощью модуля PyGithub](https://github.com/pyneng/pyneng-online-9-may-aug-2020/tree/master/scripts)

### Презентация

* [Презентация по сегодняшней лекции](https://github.com/pyneng/all-pyneng-slides/blob/main/pyneng/17_serialization.md)

{'fraction_non_alphanumeric': 0.14392244593586875, 'fraction_numerical': 0.03616703952274422, 'mean_word_length': 4.149712092130518, 'pattern_counts': {'":': 0, '<': 3, '<?xml version=': 0, '>': 3, 'https://': 11, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '7647070', 'n_tokens_mistral': 1214, 'n_tokens_neox': 1205, 'n_words': 224}