В этой статье мы увидим, как мы можем использовать средства записи 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