Truoble с действительно раздражающей домашней работой. У меня есть CSV-файл с большим количеством полей, разделенных запятыми в каждой строке. Мне нужно взять последние два поля из каждой строки и записать их в новый текстовый файл. Проблема в том, что в некоторых из последних полей есть предложения, те, у которых запятые, заключены в двойные кавычки, а без них - нет. Например:
180, легкий
240мин, «Довольно просто, но номер 3, wtf?»
300, намного проще, чем последнее назначение
Я сделал это, и все работало нормально, но двойные кавычки исчезают. Назначение - скопировать поля в txt-файл, использовать точку с запятой в качестве разделителя и удалить возможные разрывы строк. Текст должен оставаться точно таким же. У нас есть автоматическая c система проверки, поэтому бесполезно спорить, имеет ли это смысл.
import csv
file = open('myfile.csv', 'r')
output= open('mytxt.txt', 'w')
csvr = csv.reader(file)
headline = next(csvr)
for line in csvr:
lgt = len(line)
time = line[lgt - 2].replace('\n', '')
feedb = line[lgt - 1].replace('\n', '')
if time != '' and feedb != '':
output.write(time + ';' + feedb + '\n')
output.close()
file.close()
Есть ли какое-то простое решение для этого? Можно ли вообще использовать модуль CSV? Похоже, что никто не сталкивался с такой же проблемой.
Заранее всем спасибо.