Как использовать средство записи csv на Python

В этой статье мы увидим, как мы можем использовать средства записи csv на python для записи данных списка в csv.

 

1. Метод: Python записывает список в CSV

В первом методе мы запишем список в файл CSV с помощью csv.writer().

    import csv

Details = ['Name', 'class', 'Year', 'Subject','Grade']

rows = [ ['Andrey', '2nd', '2020', 'Physics','A'],

['Max', '3rd', '2022', 'Chemistry','B'],

['Alex', '4th', '2021', 'Math','A']]

with open('studentData.csv', 'w') as f:

write = csv.writer(f)

write.writerow(Details)

write.writerows(rows)

 

Вывод:

Name,class,Year,Subject,Grade

Andrey,2nd,2020,Physics,A

Max,3rd,2022,Chemistry,B

Alex,4th,2021,Math,A

 

Строка 1 : Импортируем модуль CSV.

Строка 2–3: мы создали два списка деталей и строк. Список деталей будет представлять имена столбцов, а списки строк будут представлять данные каждого столбца.

Строки с 6 по 9 : Мы открываем файл studentData.csv в режиме записи (‘w’) для записи файла. Теперь мы создали объект write с помощью csv.writer(f). Сначала мы записываем имена столбцов csv, используя список деталей. После записи имен столбцов csv мы используем write.writerows() и передаем им список строк в качестве параметра для записи каждого из списков в виде строки.

 

2. Метод: Python записывает список в строку CSV

В этом методе мы собираемся записать строку CSV с помощью csv.writer(). Программа подробно описывает, как использовать этот метод для записи строк CSV, приведенных ниже:

    import csv

data = [['a'], ['b'], ['c'],['d']]

file = open('alphabet.csv', 'w+',newline ='')

with file:

write = csv.writer(file)

write.writerows(data)

 

Вывод:

a

b

c

d

 

Строка 1 : Импортируем модуль CSV.

Строка 2 : Мы создали один список данных, элементы которого также являются списком. Каждый подсписок будет рассматриваться как отдельная строка.

Строки с 3 по 6 : Мы открываем файл алфавит.csv как режим записи (‘w’) для записи файла. Мы также используем атрибут новой строки, который помогает поместить значение в новую строку. Теперь мы создали объект для записи, используя csv.writer (file). Чтобы записать каждый из списков в виде строки, мы используем write.writerows() и передаем в них список данных в качестве параметра.

Из вывода мы видим, что все подсписки были записаны как новая строка.

 

3. Метод: Python записывает список в заголовок CSV.

В этом методе мы собираемся написать заголовок файла CSV.

    import csv

list = [[ 'New York', 'USA','A'],['Moscow', 'RUSSIA', 'A'],['Bejing','CHINA','B']]

with open('header.csv','w') as f:

writer = csv.writer(f)

writer.writerow(['City', 'Country', 'Rank'])

writer.writerows(list)

 

Вывод:

City,Country,Rank

 

Строка 1 : Импортируем модуль CSV.

Строка 2–3 : мы создали один список данных, в котором элементы также являются списком. Каждый подсписок будет рассматриваться как отдельная строка.

Строки с 4 по 7 : Мы открываем файл rank.csv в режиме записи (‘w’) для записи файла. Теперь мы создали объект для записи с помощью csv.writer(f). Сначала мы записываем имена столбцов CSV с помощью Writerow([‘City’, ‘Country’, ‘Rank’]).

Вывод показывает, что мы успешно написали заголовок файла csv.

 

4. Метод: Python записывает элементы кортежа списка в CSV

Этот метод покажет, как мы можем записать тип кортежа элементов внутри списка в csv.

    import csv

items = [(('A', 'Alex'), 31), (('B', 'Boris'), 28), (('C', 'Cara'), 25)]

with open('tuple.csv', 'w') as f:

write = csv.writer(f)

write.writerows(items)

 

Вывод:

"('A', 'Alex')",31

"('B', 'Boris')",28

"('C', 'Cara')",25

 

Строка 1 : Импортируем модуль CSV.

Строка 2 : Мы создали список элементов, каждый элемент которого является кортежем.

Строка 3–5 : мы открываем файл tuple.csv в режиме записи (‘w’) для записи файла. Теперь мы создали объект для записи с помощью csv.writer(f). Чтобы записать каждый из элементов списка (кортежа) в виде строки, мы используем write.writerows() и передаем им список элементов в качестве параметра.

 

5. Метод: Python добавляет список в CSV

Этот метод покажет, как мы можем добавить любые новые данные в CSV с помощью Python Writer.

    import csv

with open('result.csv','a') as f:

writer = csv.writer(f)

writer.writerow(['city','New York'])

 

Вывод:

"('A', 'Alex')",31

"('B', 'Boris')",28

"('C', 'Cara')",25

city,New York

 

Строка 1 : Импортируем модуль CSV.

Строка 2 : мы открываем файл result.csv в режиме добавления, потому что мы хотим добавить еще несколько данных в существующий файл csv.

Строка 3–4 : Теперь мы создали объект для записи с помощью csv.writer(f). Чтобы записать каждый из элементов списка в виде строки, мы используем write.writerows() и передаем им список элементов в качестве параметра. Но поскольку теперь у нас есть только один список, мы будем использовать только метод writerow().

Из вывода мы видим, что мы успешно добавляем новые данные в существующий файл csv.

 

6. Метод: Python добавляет список в CSV

    import csv

from itertools import zip_longest

item_1 = ['A', 'B', 'C', 'D']

item_2 = [1,2,3,4]

data = [item_1, item_2]

export_data = zip_longest(*data, fillvalue = '')

with open('item_zip.csv', 'w', encoding="ISO-8859-1", newline='') as file:

write = csv.writer(file)

write.writerow(("item_1", "item_2"))

write.writerows(export_data)

 

Вывод:

item_1,item_2

A,1

B,2

C,3

D,4

 

Строка 1 и 2 : мы импортируем модуль CSV и файл zip_longest. Этот модуль используется для итерации в порядке следования.

Строка 3–5 : мы создали два списка item_1 и item_2 для итерации данных. Затем мы объединяем оба списка в один и называем этот список данными.

Строка 6 : Затем мы вызываем метод zip_longest для параллельного перебора двух списков.

Строки с 7 по 10 : Мы открываем файл item_zip.csv в режиме записи (‘w’) для записи файла. Теперь мы создали объект для записи с помощью csv.writer(f). Сначала мы записываем имена столбца csv, а после записи этого, чтобы записать каждый из списков в виде строки, мы используем write.writerows() и передаем им список строк (export_data) в качестве параметра.

Вывод показывает, что мы успешно записали наши zip-данные в файл csv.

 

7. Метод: напишите CSV-файл с пользовательским разделителем каналов.

В этом методе мы будем использовать разделитель вертикальной черты (‘|’) вместо запятой. В приведенной ниже программе объясняется, как мы можем использовать разделитель вертикальной черты в нашем коде.

    import csv

Details = ['Name', 'class', 'Year', 'Subject','Grade']

rows = [ ['Andrey', '2nd', '2020', 'Physics','A'],

['Max', '3rd', '2022', 'Chemistry','B'],

['Alex', '4th', '2021', 'Math','A']]

with open('pipe_delimiter.csv', 'w') as f:

write = csv.writer(f,delimiter='|')

write.writerow(Details)

write.writerows(rows)

 

Вывод:

Name|class|Year|Subject|Grade

Andrey|2nd|2020|Physics|A

Max|3rd|2022|Chemistry|B

Alex|4th|2021|Math|A

 

Строка 1 : Импортируем модуль CSV.

Строка 2–3 : мы создали два списка деталей и строк. Список деталей будет представлять имена столбцов, а списки строк будут представлять данные каждого столбца.

Строки с 6 по 9 : Мы открываем файл studentData.csv в режиме записи (‘w’) для записи файла. Теперь мы создали объект для записи с помощью csv.writer(f). Мы также добавляем один дополнительный разделитель атрибутов в метод csv.writer() вместе с f. Сначала мы записываем имена столбцов csv, используя список деталей. После этого мы используем write.writerows() и передаем список строк в качестве параметра для записи каждого из списков в виде строки.

Выходные данные показывают, что данные нашего файла csv отделяются от разделителя вертикальной черты вместо запятой.

 

8. Метод: напишите CSV-файл с пользовательским символом кавычек.

В этом методе мы будем использовать некоторые пользовательские символы кавычек при сохранении данных в формате csv. Для этого мы должны использовать атрибут quoting = csv.QUOTE_NONNUMERIC и quotechar, как показано в приведенной ниже программе.

    import csv

Details = ['Name', 'class', 'Year', 'Subject','Grade']

rows = [ ['Andrey', '2nd', '2020', 'Physics','A'],

['Max', '3rd', '2022', 'Chemistry','B'],

['Alex', '4th', '2021', 'Math','A']]

with open('quote.csv', 'w') as f:

write = csv.writer(f,quoting=csv.QUOTE_NONNUMERIC,

delimiter=';', quotechar='*')

write.writerow(Details)

write.writerows(rows)

 

Вывод:

*Name*;*class*;*Year*;*Subject*;*Grade*

*Andrey*;*2nd*;*2020*;*Physics*;*A*

*Max*;*3rd*;*2022*;*Chemistry*;*B*

*Alex*;*4th*;*2021*;*Math*;*A*

 

Строка 1 : Импортируем модуль CSV.

Строка 2–3 : мы создали два списка деталей и строк. Список деталей будет представлять имена столбцов, а списки строк будут представлять данные каждого столбца.

Строки с 6 по 9 : Мы открываем файл studentData.csv в режиме записи (‘w’) для записи файла. Теперь мы создали объект для записи с помощью csv.writer(f). Мы также добавляем один дополнительный атрибут quiting и quotechar в метод csv.writer() вместе с f. Сначала мы записываем имена столбцов csv, используя список деталей. После этого мы используем write.writerows() и передаем список строк в качестве параметра для записи каждого из списков в виде строки.

Выходные данные показывают, что данные нашего файла csv теперь цитируются с помощью настраиваемого quotechar.

 

9. Метод: запишите CSV-файл с помощью csv.DictWriter().

Мы также можем записать CSV-файл с помощью метода DictWriter(). Итак, в этой программе мы увидим, как мы можем использовать метод DictWriter() для записи файла csv.

    import csv



with open('dictwriter.csv', 'w', newline='') as file:

fieldnames = ['A', 'B']

writer = csv.DictWriter(file, fieldnames=fieldnames)



writer.writeheader()

writer.writerow({'A': 'Magnus Carlsen', 'B': 28770})

writer.writerow({'A': 'Fabiano Caruana', 'B': 28222})

writer.writerow({'A': 'Ding Liren', 'B': 28001})




 

Вывод:

A,B

Magnus Carlsen,28770

Fabiano Caruana,28222

Ding Liren,28001

 

Строка 1 : Импортируем модуль csv.

Строка 3 : Открываем файл dictwriter.csv в режиме записи.

Строки 4 и 5 : в этом методе dictwriter() мы должны определить ключи в списке и передать их при создании объекта записи, как показано в строке номер 5. Имена полей находятся в той же последовательности, в которой мы хотим записать csv. файл.

Строки с 8 по 10 : мы передаем все данные в Writerow в форме dict (ключ и значение).

 

Заключение:

В этой статье мы рассмотрели различные способы использования методов csv.writerow(). Мы видели, как можно записать весь список в CSV. Мы также видели, как мы можем записывать кортежи внутри списка в csv. Затем мы познакомились с некоторыми интересными методами, такими как настраиваемый разделитель csv.



2021-11-09T17:19:16
Python