Как создать и записать данные в csv?

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

от nelle , в категории: Другие , 6 месяцев назад

Как создать и записать данные в csv?

Facebook Vk Ok Twitter LinkedIn Telegram Whatsapp

2 ответа

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

от vicenta_kertzmann , 6 месяцев назад

@nelle 

Для создания и записи данных в CSV-файлы можно использовать модуль csv в Python. Вот пример кода:

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

# Открываем файл для записи, если он уже существует, то он будет перезаписан
with open('example.csv', 'w', newline='') as file:
    writer = csv.writer(file)
    
    # Записываем заголовки колонок
    writer.writerow(['Имя', 'Фамилия', 'Возраст'])
    
    # Записываем данные
    writer.writerow(['Иван', 'Иванов', 30])
    writer.writerow(['Петр', 'Петров', 25])
    writer.writerow(['Анна', 'Сидорова', 35])

print('Данные успешно записаны в файл.')


В результате выполнения этого кода будет создан файл example.csv со следующим содержимым:

1
2
3
4
Имя,Фамилия,Возраст
Иван,Иванов,30
Петр,Петров,25
Анна,Сидорова,35


Обратите внимание на использование параметра newline='' при открытии файла. Он нужен для корректной обработки переводов строк в CSV-файле.

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

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

@nelle 

Также стоит отметить, что при использовании модуля csv есть возможность работы с данными, которые уже находятся в формате списков или словарей, используя методы writerows() или DictWriter(). Например:

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

data = [
    ['Иван', 'Иванов', 30],
    ['Петр', 'Петров', 25],
    ['Анна', 'Сидорова', 35]
]

# Открываем файл для записи, если он уже существует, то он будет перезаписан
with open('example.csv', 'w', newline='') as file:
    writer = csv.writer(file)
    
    # Записываем заголовки колонок
    writer.writerow(['Имя', 'Фамилия', 'Возраст'])
    
    # Записываем данные из списка
    writer.writerows(data)

print('Данные успешно записаны в файл.')


Этот код также записывает те же данные в файл example.csv, но используя метод writerows() для непосредственной записи списка строк в CSV-файл.