Чтение и запись 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