Чтение и запись CSV-файла
Python
Middle
VK
01.01.2025
Реализуйте две функции:
1. `read_users_csv(path: str) -> list[dict]` — читает CSV-файл с колонками `id,name,email` и возвращает список словарей.
2. `write_users_csv(path: str, users: list[dict])` — записывает список словарей в CSV-файл с теми же колонками.
Можно использовать модуль `csv` стандартной библиотеки.
Ответы
Решение 1
```python
import csv
from typing import List, Dict
def read_users_csv(path: str) -> List[Dict[str, str]]:
with open(path, newline="", encoding="utf-8") as f:
reader = csv.DictReader(f)
return list(reader)
def write_users_csv(path: str, users: List[Dict[str, str]]) -> None:
if not users:
# можно создать пустой файл или ничего не делать
with open(path, "w", newline="", encoding="utf-8") as f:
pass
return
fieldnames = ["id", "name", "email"]
with open(path, "w", newline="", encoding="utf-8") as f:
writer = csv.DictWriter(f, fieldnames=fieldnames)
writer.writeheader()
for user in users:
writer.writerow({fn: user.get(fn, "") for fn in fieldnames})
```