Найти - Пользователи
Полная версия: Записать столбцы в обратном порядке в новый файл cvs
Начало » Python для новичков » Записать столбцы в обратном порядке в новый файл cvs
1
AndrewBol
Есть файл .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(';')
Striver
 for line in file1:
    data = line.split(';')
    data.reverse()
    file2.write(';'.join(data))
py.user.next
AndrewBol
Просьба помочь дописать код
Для работы с csv-файлами надо использовать модуль csv. Данные в формате CSV - это не просто разделение слов/словосочетаний через точку с запятой. Это полноценный формат для передачи любых текстовых данных, поэтому там много нюансов есть. Чтобы все их не воспроизводить, существует модуль питона csv, который уже их все учитывает.

Многие не знают, что формат требует окончания строк в виде CRLF, а не только LF. Поэтому твоё открытие файлов через open() в какой-нибудь *NIX-системе (где-нибудь на хостинге, например) правильный формат переделает из CRLF в LF и ты даже этого не поймёшь.
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Powered by DjangoBB