Таблиці й структури
Дані зручно зберігати не просто рядками, а таблицями чи структурами. Для цього є два найпоширеніші формати.
CSV — таблиця в тексті
Кожен рядок файлу — рядок таблиці, значення розділені комами:
назва,маса,тяга Січ,2000,300000 Сокіл,1500,200000
Такі файли відкриває Excel чи Google Таблиці. У Python для них є модуль csv:
import csv with open("rockets.csv", "w", encoding="utf-8", newline="") as f: w = csv.writer(f) w.writerow(["назва", "маса"]) w.writerow(["Січ", 2000]) with open("rockets.csv", encoding="utf-8") as f: for row in csv.reader(f): print(row) # ['назва', 'маса'], потім ['Січ', '2000'] — усе рядки!
csv.DictReader(f) дає кожен рядок як словник за заголовками: row["маса"].
JSON — словники й списки у файлі
JSON виглядає майже як словник Python. У ньому зберігають налаштування, рекорди, відповіді сайтів.
import json data = {"name": "Січ", "stages": 2, "crew": ["Оля", "Тарас"]} with open("rocket.json", "w", encoding="utf-8") as f: json.dump(data, f, ensure_ascii=False) with open("rocket.json", encoding="utf-8") as f: loaded = json.load(f) # знову словник print(loaded["crew"][0]) # Оля
json.dumps(data, ensure_ascii=False) перетворює дані на рядок JSON (без запису у файл).
⚠ПАСТКА
З CSV усі значення приходять рядками — числа перетворюй через
int() чи float(). JSON зберігає числа числами.Перевір себе: 7 задач з автоперевіркою
▶ Розв'язувати задачіПідказки після помилок, розбір кожної задачі, бали й звання. Безкоштовно, можна без реєстрації.