Строка — это последовательность символов, а CSV (Comma-Separated Values) — это файл, в котором значения разделены запятыми. В этом руководстве по Python вы узнаете, как преобразовать строку в формат CSV.
Преобразование строк в формат CSV — распространённая задача в проектах по анализу данных. Например, информация, полученная из разных источников, может быть преобразована из строки и записана в файл CSV. После этого с помощью этого CSV-файла можно выполнять различные задачи по обработке и анализу данных.
В Python есть несколько способов преобразовать строку в CSV-файл. Строки — это последовательности символов, а CSV-файлы содержат данные или значения, разделённые запятыми.
В этом случае я не буду использовать сторонние библиотеки или модули, а только те, которые идут в комплекте с Python, или встроенные методы языка.
С использованием модуля csv
В Python существует модуль csv, предназначенный для работы с данными в формате CSV. В этом модуле есть функция writerow(), которая позволяет записывать данные в файл CSV. Однако в этой статье мы рассмотрим, как можно записать строку в файл CSV.
Например, посмотрите на код ниже.
import csv
data_string = """Name, Age, Occupation
Roy, 28, Data Scientist
Vincent, 34, Web Developer
Willie, 25, Graphic Designer"""
# splitting the string into rows
data_rows = data_string.strip().split('\n')
with open('output.csv', 'w', newline='') as file:
writer = csv.writer(file)
for row in data_rows:
# split each row on comma and write to CSV using writerow() method
writer.writerow(row.split(', '))

Файл data.csv создаётся на основе выходных данных и содержит строку, записанную методом writerow() объекта writer.
Позвольте мне объяснить код:
- Сначала мы определяем строку data_string.
- Затем мы удаляем нежелательные символы из строки, вызывая метод Strip().
- После этого мы разделяем строку на отдельные строки, используя разделение по символу новой строки (‘\n’).
Затем мы открываем файл в режиме записи «w» с помощью следующего кода: open(‘output.csv’, ‘w’, newline=»). Если файл output.csv уже существует, мы возвращаем файловый объект как «file».
Если файл output.csv отсутствует, мы создаём новый файл. Затем мы используем модуль csv и метод write() для записи данных в файл. Мы передаём файловый объект в метод write() с помощью csv.writer(file). Этот метод возвращает объект writer.
Затем мы используем следующий код для записи данных в файл: для каждой строки в data_rows мы разделяем её на части, используя запятую, с помощью row.split(«,»). И наконец, мы записываем каждую часть строки в файл output.csv с помощью метода writerow().
Вы можете увидеть, что файл data.csv открыт в Google Colab в виде таблицы. Если вы загрузите этот файл и откроете его в текстовом редакторе, то увидите, что каждое значение в CSV-файле разделено запятой.
С использованием метода write()
Также вы можете отформатировать строку для CSV-файла, а затем использовать метод write() файла для записи этой строки в CSV-файл.
Например, посмотрите на код ниже, который записывает строку в CSV-файл:
# defined string into my_str variable
my_str = 'Bobby;456;983'
# open file my_file.csv in writting mode.
with open('file.csv', 'w') as out:
#splitting string into list of substring based on the delimiter ';'
#and joins them with a comma(',') using the ','.join() method.
lines = [','.join(line) for line in my_str.split(';')]
# joining the elements of the lines list using the newline character('\n') as the separator, creating a new string my_str
my_str = '\n'.join(lines)
# writing the content of my_str to the 'file.csv' file using the write() method
out.write(my_str)

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