У меня есть кадр данных, который можно скачать здесь. Первый столбец содержит вопрос, а второй столбец содержит ответы на этот вопрос.
Моя цель: создать два файла .txt, один из которых содержит вопросы, а другой — ответы.
Каждый вопрос и ответ должны быть написаны в отдельной строке. Таким образом, строка 50 в каждом файле .txt содержит 50-й вопрос и 50-й ответ. (То есть, если файлы рекомбинируются, пары вопросов/ответов совпадают)
Фрагмент кода ниже открывает текстовый файл, записывает каждую строку столбца в этот файл и удаляет все \n. Кажется, он работает примерно для 96% строк, но очень редко он записывает одну строку DF в несколько строк текста.
Эти редкие события, по-видимому, не имеют каких-либо определяющих характеристик, они не очень длинные и т. д. В файле, который я прикрепил выше, первое событие происходит в строке 395 текстового файла в столбце ответов.
f = open("Answers.txt","a", newline="\n",encoding='utf-8')
for i in tqdm(data['answers_body']):
line = i.replace('\n','')
f.write(line)
f.write("\n")
Интересно, что если я удалю f.write и просто выведу на консоль, все будет работать, как и ожидалось... проблема возникает только во время процесса записи.
file.write(line+'\n')
- person ThunderHorn   schedule 21.06.2018