CSV и внешние данные: формат, валидация и поток обработки
Файл позволяет программе работать с данными, которые не вводятся вручную каждый раз. В школьных задачах часто встречаются текстовые файлы, таблицы CSV и наборы строк с числами.
CSV — это простой формат таблицы, где значения разделяются запятыми или точками с запятой.
Чтение строк файла
В учебном примере можно представить содержимое файла списком строк.
lines = [
'name;grade;score',
'Аня;9;82',
'Илья;8;75',
'Маша;9;58',
]
total = 0
count = 0
for line in lines[1:]:
name, grade, score = line.split(';')
grade = int(grade)
score = int(score)
if grade == 9:
total += score
count += 1
print(total / count if count else 0)В настоящей программе строки читаются из файла, но логика обработки такая же.
Что проверять при чтении данных
- Есть ли заголовок таблицы?
- Какой разделитель используется?
- Какие поля нужно преобразовать в числа?
- Что делать с пустыми строками?
- Может ли подходящих записей не оказаться?
Частые ошибки
Школьники часто забывают пропустить строку заголовка, сравнивают числа как строки или делят на ноль, если ни одна строка не подошла под условие. Эти ошибки легко поймать, если заранее продумать формат файла.
Работа с файлами связывает программирование с реальными данными. Она помогает готовиться к задачам ОГЭ и ЕГЭ, где важно не только написать цикл, но и аккуратно разобрать входные строки.
Источники
- Босова Л.Л. Информатика. Базовый курс: учебник для 7-9 классов. - М.: БИНОМ. Лаборатория знаний.
- Поляков К.Ю., Еремин Е.А. Информатика. 10-11 классы. Углубленный уровень.
- Python Documentation: The Python Tutorial.