Парсинг данных CSV в Python
Python предоставляет встроенную поддержку работы с данными в формате CSV с помощью модуля csv
. Этот модуль предлагает простой и эффективный способ чтения, записи и манипулирования файлами CSV.
Чтение данных CSV
Для чтения файла CSV в Python можно использовать функцию csv.reader()
. Эта функция принимает итерируемый объект (например, файловый объект) и возвращает объект-читатель, который можно использовать для перебора строк в файле CSV.
import csv
with open('data.csv', 'r') as file:
reader = csv.reader(file)
for row in reader:
print(row)
Функция csv.reader()
также поддерживает различные параметры, такие как указание разделителя, обработка строки заголовков и обработка заключенных в кавычки значений.
Запись данных в CSV
Для записи данных в файл CSV можно использовать функцию csv.writer()
. Эта функция принимает итерируемый объект (например, файловый объект) и возвращает объект-писатель, который можно использовать для записи строк в файл CSV.
import csv
data = [['Name', 'Age', 'City'],
['John Doe', 35, 'New York'],
['Jane Smith', 28, 'Los Angeles'],
['Bob Johnson', 42, 'Chicago']]
with open('output.csv', 'w', newline='') as file:
writer = csv.writer(file)
writer.writerows(data)
Функция csv.writer()
также поддерживает различные параметры, такие как указание разделителя, обработка строки заголовков и форматирование данных.
Обработка различных диалектов CSV
Модуль csv
в Python также предоставляет поддержку обработки различных "диалектов" формата CSV. Диалект - это набор параметров, которые определяют структуру файла CSV, такие как разделитель, правила использования кавычек и символ конца строки.
Вы можете определить пользовательские диалекты с помощью функции csv.register_dialect()
, а затем использовать их с функциями csv.reader()
и csv.writer()
.
import csv
## Register a custom dialect
csv.register_dialect('custom', delimiter=';', quotechar='"', quoting=csv.QUOTE_MINIMAL)
with open('data.csv', 'r') as file:
reader = csv.reader(file, dialect='custom')
for row in reader:
print(row)
Понимая возможности модуля csv
в Python, вы можете эффективно парсить и работать с данными CSV в своих приложениях.