Строка — это последовательность символов, а 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. Если вы откроете этот файл, то увидите, что каждый символ строки отделён запятой.