<MyRusakov.ru />

Создание игр на Unreal Engine 5

Создание игр на Unreal Engine 5

Данный курс научит Вас созданию игр на Unreal Engine 5. Курс состоит из 12 модулей, в которых Вы с нуля освоите этот движок и сможете создавать самые разные игры.

В курсе Вы получите всю необходимую теоретическую часть, а также увидите массу практических примеров. Дополнительно, почти к каждому уроку идут упражнения для закрепления материала.

Помимо самого курса Вас ждёт ещё 8 бесплатных ценных Бонусов: «Chaos Destruction», «Разработка 2D-игры», «Динамическая смена дня и ночи», «Создание динамической погоды», «Создание искусственного интеллекта для NPC», «Создание игры под мобильные устройства», «Создание прототипа RPG с открытым миром» и и весь курс «Создание игр на Unreal Engine 4» (актуальный и в 5-й версии), включающий в себя ещё десятки часов видеоуроков.

Подробнее
Подписка

Подпишитесь на мой канал на YouTube, где я регулярно публикую новые видео.

YouTube Подписаться

Подписавшись по E-mail, Вы будете получать уведомления о новых статьях.

Подписка Подписаться

Добавляйтесь ко мне в друзья ВКонтакте! Отзывы о сайте и обо мне оставляйте в моей группе.

Мой аккаунт Мой аккаунт Моя группа
Опрос

Какая тема Вас интересует больше?

CSV в Python: чтение, запись и обработка таблиц через модуль csv

CSV в Python: чтение, запись и обработка таблиц через модуль csv

Поисковый запрос «CSV в Python» чаще всего возникает, когда нужно быстро прочитать таблицу, обработать данные и сохранить результат без установки тяжёлых библиотек. Для этого в Python есть встроенный модуль csv: он умеет корректно работать с запятыми внутри значений, кавычками, разными разделителями и переносами строк.

Что такое CSV и когда он нужен

CSV — это текстовый формат для хранения таблиц. Каждая строка файла — строка таблицы, а значения разделяются специальным символом, чаще всего запятой или точкой с запятой.

Пример файла sales.csv:

date,product,qty,price
2026-01-10,Keyboard,2,3500
2026-01-11,Mouse,5,1200
2026-01-12,Monitor,1,18000

CSV часто используют для обмена данными между Excel, Google Sheets, базами данных, CRM и Python-скриптами.

Почему не стоит использовать split(',')

Новички часто читают CSV как обычный текст и делают split(','). Это работает только на самых простых данных. Проблема появляется, если внутри значения есть запятая:

2026-01-10,"Keyboard, wireless",2,3500

Метод split(',') разобьёт название товара неправильно. Модуль csv учитывает кавычки и другие правила формата, поэтому его и нужно использовать.

Чтение CSV-файла в Python

Базовый пример чтения файла:

import csv

with open('sales.csv', 'r', encoding='utf-8', newline='') as file:
    reader = csv.reader(file)

    for row in reader:
        print(row)

На выходе каждая строка будет списком:

['date', 'product', 'qty', 'price']
['2026-01-10', 'Keyboard', '2', '3500']

Обратите внимание на параметры:

  • encoding='utf-8' — помогает избежать проблем с кириллицей;
  • newline='' — рекомендуется документацией Python для корректной работы модуля csv;
  • with open(...) — автоматически закрывает файл после работы.

Как пропустить заголовок таблицы

Если первая строка содержит названия колонок, её часто нужно пропустить:

import csv

with open('sales.csv', 'r', encoding='utf-8', newline='') as file:
    reader = csv.reader(file)
    header = next(reader)

    print('Колонки:', header)

    for row in reader:
        date = row[0]
        product = row[1]
        qty = int(row[2])
        price = int(row[3])

        print(product, qty * price)

Важно: данные из CSV приходят как строки. Если нужно считать сумму, количество или цену, преобразуйте значения через int() или float().

DictReader: чтение CSV как словарей

Работать с индексами row[0], row[1] не всегда удобно. Если в файле есть заголовки, лучше использовать csv.DictReader:

import csv

total = 0

with open('sales.csv', 'r', encoding='utf-8', newline='') as file:
    reader = csv.DictReader(file)

    for row in reader:
        qty = int(row['qty'])
        price = int(row['price'])
        total += qty * price

print('Общая сумма продаж:', total)

Преимущество этого подхода — код становится понятнее. Даже если порядок колонок изменится, обращение по имени поля продолжит работать, если названия колонок останутся прежними.

Запись CSV-файла

Чтобы создать CSV-файл, используйте csv.writer:

import csv

rows = [
    ['date', 'product', 'qty', 'price'],
    ['2026-01-10', 'Keyboard', 2, 3500],
    ['2026-01-11', 'Mouse', 5, 1200],
]

with open('new_sales.csv', 'w', encoding='utf-8', newline='') as file:
    writer = csv.writer(file)
    writer.writerows(rows)

Метод writerow() записывает одну строку, а writerows() — сразу несколько строк.

DictWriter: запись словарей в CSV

Если данные в программе представлены словарями, удобнее использовать csv.DictWriter:

import csv

products = [
    {'name': 'Keyboard', 'qty': 2, 'price': 3500},
    {'name': 'Mouse', 'qty': 5, 'price': 1200},
]

with open('products.csv', 'w', encoding='utf-8', newline='') as file:
    fieldnames = ['name', 'qty', 'price']
    writer = csv.DictWriter(file, fieldnames=fieldnames)

    writer.writeheader()
    writer.writerows(products)

writeheader() записывает строку с названиями колонок. Без неё файл будет содержать только данные.

Практический пример: фильтрация CSV

Допустим, нужно выбрать из файла только продажи дороже 5000 рублей и сохранить их отдельно:

import csv

with open('sales.csv', 'r', encoding='utf-8', newline='') as input_file, \
     open('big_sales.csv', 'w', encoding='utf-8', newline='') as output_file:

    reader = csv.DictReader(input_file)
    writer = csv.DictWriter(output_file, fieldnames=reader.fieldnames)

    writer.writeheader()

    for row in reader:
        amount = int(row['qty']) * int(row['price'])

        if amount > 5000:
            writer.writerow(row)

Такой скрипт уже похож на реальную задачу автоматизации: прочитать выгрузку, отфильтровать данные и сформировать новый файл.

CSV с точкой с запятой

В русскоязычной версии Excel CSV-файлы часто сохраняются с разделителем ;. В таком случае укажите параметр delimiter:

import csv

with open('excel_export.csv', 'r', encoding='utf-8', newline='') as file:
    reader = csv.DictReader(file, delimiter=';')

    for row in reader:
        print(row)

При записи это работает так же:

with open('report.csv', 'w', encoding='utf-8', newline='') as file:
    writer = csv.writer(file, delimiter=';')
    writer.writerow(['name', 'email'])
    writer.writerow(['Анна', 'anna@example.com'])

Частые ошибки при работе с CSV в Python

  • Забыли newline='' — в Windows могут появиться пустые строки между записями.
  • Не указали encoding — возможны ошибки с русскими буквами.
  • Считаете числа строками — перед вычислениями используйте int() или float().
  • Используете split(',') — ломается на кавычках, запятых внутри текста и сложных CSV.
  • Путаете разделитель — для Excel-файлов часто нужен delimiter=';'.

Когда нужен pandas, а когда достаточно csv

Модуль csv отлично подходит для простых задач: прочитать файл, пройтись циклом, отфильтровать строки, сохранить результат. Если же нужны группировки, сводные таблицы, сложная аналитика и работа с большими датасетами, стоит изучить библиотеку pandas.

Если вы хотите уверенно освоить не только CSV, но и функции, коллекции, файлы, ООП, автоматизацию и реальные проекты, посмотрите курс «Python с нуля до уверенного разработчика» — он хорошо подойдёт тем, кто хочет выстроить знания системно, а не собирать их из разрозненных примеров.

Итог

Работа с CSV в Python начинается с модуля csv. Используйте csv.reader для простого чтения, DictReader для удобной работы по названиям колонок, writer и DictWriter для записи файлов. Главное — не забывайте про encoding, newline='' и правильный delimiter. Эти базовые приёмы закрывают множество повседневных задач автоматизации.

Копирование материалов разрешается только с указанием автора (Михаил Русаков) и индексируемой прямой ссылкой на сайт (https://myrusakov.ru)!

Добавляйтесь ко мне в друзья ВКонтакте: https://vk.com/myrusakov.
Если Вы хотите дать оценку мне и моей работе, то напишите её в моей группе: https://vk.com/rusakovmy.

Если Вы не хотите пропустить новые материалы на сайте,
то Вы можете подписаться на обновления: Подписаться на обновления

Если у Вас остались какие-либо вопросы, либо у Вас есть желание высказаться по поводу этой статьи, то Вы можете оставить свой комментарий внизу страницы.

Порекомендуйте эту статью друзьям:

Если Вам понравился сайт, то разместите ссылку на него (у себя на сайте, на форуме, в контакте):

  1. Кнопка:

    Она выглядит вот так: Как создать свой сайт

  2. Текстовая ссылка:

    Она выглядит вот так: Как создать свой сайт

  3. BB-код ссылки для форумов (например, можете поставить её в подписи):

Комментарии (0):

Для добавления комментариев надо войти в систему.
Если Вы ещё не зарегистрированы на сайте, то сначала зарегистрируйтесь.