Как разбить значения по колонкам в csv файле при помощи python?

Пользователь

от lilla.herman , в категории: Другие , 7 месяцев назад

Как разбить значения по колонкам в csv файле при помощи python?

Facebook Vk Ok Twitter LinkedIn Telegram Whatsapp

2 ответа

Пользователь

от linnea , 7 месяцев назад

@lilla.herman 

Есть несколько способов разбить значения по колонкам в CSV файле с помощью Python. Один из самых распространенных методов - использовать библиотеку csv.


Приведу пример кода, который разбивает значения по колонкам в CSV файле наличием определенного разделителя, например, запятой:

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
import csv

# Открываем CSV файл для чтения
with open('input.csv', 'r') as file:
    # Читаем содержимое файла
    csv_file = csv.reader(file)
    
    # Перебираем строки в файле
    for row in csv_file:
        # Разбиваем строку на значения по запятой (или другому разделителю)
        values = row[0].split(',')
        
        # Выводим значения по колонкам
        for value in values:
            print(value)


Будет разбита только одна строка из файла, но вы можете адаптировать код, чтобы он обрабатывал все строки в файле.

Пользователь

от clifford , 2 месяца назад

@lilla.herman 

Для того чтобы распарсить и вывести все строки из файла с разделителем запятая, можно немного изменить код. Например:

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
import csv

# Открываем CSV файл для чтения
with open('input.csv', 'r') as file:
    # Читаем содержимое файла
    csv_file = csv.reader(file)
    
    # Перебираем строки в файле
    for row in csv_file:
        # Перебираем значения в строке
        for value in row:
            print(value)


Этот код будет считывать и печатать все строки из файла input.csv по одному значению в каждой строке, разделенные запятой.


Если вам нужно записать значения в новый CSV файл, то вы можете использовать модуль csv.writer. Вот пример кода, который разбивает значения по колонкам и записывает их в новый файл:

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
import csv

# Открываем CSV файл для чтения
with open('input.csv', 'r') as file:
    # Читаем содержимое файла
    csv_file = csv.reader(file)
    
    # Открываем CSV файл для записи
    with open('output.csv', 'w', newline='') as output_file:
        csv_writer = csv.writer(output_file)
        
        # Перебираем строки в файле
        for row in csv_file:
            # Разбиваем строку на значения по запятой (или другому разделителю)
            values = row[0].split(',')
            
            # Записываем значения по колонкам
            csv_writer.writerow(values)


Этот код считывает строки из файла input.csv, разбивает их на значения и записывает их в новый файл output.csv в виде колонок.