Уведомления

Группа в Telegram: @pythonsu

#1 Март 23, 2020 13:09:58

AndrewBol
Зарегистрирован: 2020-03-23
Сообщения: 1
Репутация: +  0  -
Профиль   Отправить e-mail  

Записать столбцы в обратном порядке в новый файл cvs

Есть файл .cvs, в нем 3 столбца name1 name2 name3. Требуется записать эти 3 столбца в обратной последовательности (name3, name2, name1) в новый файл. Просьба помочь дописать код

inputfile = “C:\x.csv”
outputfile = “C:\y.csv”
file1 = open(inputfile, mode='r', encoding='utf_8')
file2 = open(outputfile, mode='w', encoding='utf_8')
for line in file1:
name1, name2, name3, name4 = line.split(';')

Офлайн

#2 Март 23, 2020 14:15:45

Striver
От:
Зарегистрирован: 2006-10-26
Сообщения: 247
Репутация: +  22  -
Профиль   Отправить e-mail  

Записать столбцы в обратном порядке в новый файл cvs

 for line in file1:
    data = line.split(';')
    data.reverse()
    file2.write(';'.join(data))



Офлайн

#3 Март 23, 2020 22:09:33

py.user.next
От:
Зарегистрирован: 2010-04-29
Сообщения: 10031
Репутация: +  857  -
Профиль   Отправить e-mail  

Записать столбцы в обратном порядке в новый файл cvs

AndrewBol
Просьба помочь дописать код
Для работы с csv-файлами надо использовать модуль csv. Данные в формате CSV - это не просто разделение слов/словосочетаний через точку с запятой. Это полноценный формат для передачи любых текстовых данных, поэтому там много нюансов есть. Чтобы все их не воспроизводить, существует модуль питона csv, который уже их все учитывает.

Многие не знают, что формат требует окончания строк в виде CRLF, а не только LF. Поэтому твоё открытие файлов через open() в какой-нибудь *NIX-системе (где-нибудь на хостинге, например) правильный формат переделает из CRLF в LF и ты даже этого не поймёшь.



Отредактировано py.user.next (Март 23, 2020 22:17:28)

Офлайн

Board footer

Модераторировать

Powered by DjangoBB

Lo-Fi Version