Чтение и запись CSV-файлов в Python

Что такое CSV-файл?

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

Примеры данных файла CSV

column1,column2,column3,column4
data11,data12,data13,data14
data21,data22,data23,data24
data31,data32,data33,data34
data41,data42,data43,data44

Модуль csv в Python реализует классы для работы с файлами CSV. Существует два способа чтения CSV-файла. Вы можете использовать функцию чтения модуля csv или использовать класс DictReader .

Использование csv.reader

Метод csv.reader() может использоваться для извлечения данных из файла, который содержит данные в формате CSV . Этот метод возвращает объект-читатель, который можно повторить для извлечения строк вашего CSV, и данные считываются как список строк.

Пример:

import csv
with open('data.csv') as csvfile:
reader = csv.reader(csvfile, delimiter=',')
for row in reader:
print(row)

Каждая строка возвращается как массив и может быть доступна как таковая, чтобы печатать первые ячейки, которые мы могли бы просто написать: row [0], row [1], row [2] и т. д.

import csv
with open('data.csv') as csvfile:
reader = csv.reader(csvfile, delimiter=',')
for col in reader:
print(col[0], " : ",col[1], " : ", col[2], " : ", col[3])

Вывод:

column1 : column2 : column3 : column4
data11 : data12 : data13 : data14
data21 : data22 : data23 : data24
data31 : data32 : data33 : data34
data41 : data42 : data43 : data44

Использование класса DictReader

Класс DictReader Python в основном создает CSV-объект, который ведет себя как Python OrderedDict . Он работает, читая в первой строке CSV и используя каждое разделенное запятыми значение в этой строке в качестве словарного ключа. Затем столбцы в каждой последующей строке ведут себя как словарные значения и могут быть доступны с помощью соответствующего ключа.

Пример:

import csv
with open('data.csv') as csvfile:
reader = csv.DictReader(csvfile, delimiter=',')
for line in reader:
print(line["column1"], line["column2"],line["column3"],line["column4"])

Вывод:

data11 data12 data13 data14
data21 data22 data23 data24
data31 data32 data33 data34
data41 data42 data43 data44

Запись в файлы CSV

Модуль csv также имеет два метода, которые вы можете использовать для записи CSV-файла. Вы можете использовать функцию записи или класс DictWriter. Объект writer представляет две функции: writow() и writows() . Разница между ними, как вы, вероятно, можете сказать из имен, состоит в том, что первая функция будет писать только одну строку, а функция writows() записывает сразу несколько строк.

Пример:

import csv
data = [['column1','column2'],['data11','data12'],['data21','data22']]
csv_file = open('data1.csv', 'w')
with csv_file:
writer = csv.writer(csv_file)
writer.writerows(data)
print("Done")

 

 

Источник: net-informations.com

1 Звезда2 Звезды3 Звезды4 Звезды5 Звезд (Пока оценок нет)
Adblock
detector