28 lines
1.7 KiB
Markdown
28 lines
1.7 KiB
Markdown
### Задача 8. Работа с CSV (Работа с файлами, CSV, Функции)
|
||
|
||
Напишите программу из 4 функций для работы с CSV-файлами:
|
||
|
||
1. `create_csv(filename, headers, data)` — создает CSV-файл с заголовками `headers` (список строк) и данными `data` (список списков). Используйте модуль `csv` и метод `csv.writer`.
|
||
|
||
2. `read_csv(filename)` — читает CSV-файл и возвращает список словарей, где ключи — это заголовки. Используйте `csv.DictReader`.
|
||
|
||
3. `filter_csv(data, column, value)` — принимает список словарей из `read_csv`, название колонки и значение. Возвращает отфильтрованный список, где значение в колонке совпадает.
|
||
|
||
4. `calculate_column_sum(data, column)` — принимает список словарей и название колонки с числами. Возвращает сумму всех значений в этой колонке (преобразуя строки в числа).
|
||
|
||
**Тесты:**
|
||
|
||
1. Создайте CSV-файл `"students.csv"` с заголовками `["Имя", "Возраст", "Оценка"]` и данными:
|
||
```python
|
||
[
|
||
["Иван", "20", "85"],
|
||
["Мария", "22", "92"],
|
||
["Петр", "20", "78"],
|
||
["Анна", "21", "88"]
|
||
]
|
||
```
|
||
2. Прочитайте файл
|
||
3. Отфильтруйте студентов с возрастом "20"
|
||
4. Посчитайте сумму всех оценок
|
||
5. Выведите результаты
|