#python #html #double-quotes
#python #HTML #двойные кавычки
Вопрос:
Я довольно новичок в Python, и я столкнулся с проблемой ниже. Я импортирую файл xls на python, который в одном из столбцов имеет :
<a href="myhyperlink" target='_blank' >text displayed</a>
После того, как я обработаю файл, мне нужно экспортировать его в текстовый файл.
когда я использую эту строку:
file_to_export.to_csv('my/path' "nameofthefile.txt", header=True, index=False, quoting=csv.QUOTE_NONE, sep='t')
Я получаю следующую ошибку:
необходимо выполнить экранирование, но не установлен escapechar
Когда я удаляю quoting=csv.QUOTE_NONE
аргумент, мой файл экспортируется без каких-либо ошибок, но в упомянутом выше столбце все "
удваиваются:
"<a href=""myhyperlink"" target=""_blank"" >text displayed</a>"
Я проверил промежуточные шаги, и этих дополнительных "
там нет.
Кто-нибудь может помочь?
Комментарии:
1. Формат CSV требует, чтобы кавычки были удвоены. Одинарная кавычка будет указывать на конец строки. Вы пробовали открывать результирующий файл CSV, скажем, с помощью Open Office? Результаты там выглядят нормально?
2. двойные кавычки верны — это информация для инструментов, которые будут читать ее как кавычку внутри текста, а не в конце текста. Используйте
pandas.read_csv
или модульcsv
(или дажеOpenOffice
,LibreOffice
), и они прочитают его правильно, и вы получите текст с одинарными кавычками внутри текста. Python использует"
для размещения кавычек внутри текста —" " "
, CSV использует""
для той же цели —" "" "
.3. Вы передаете разделитель
t
. Содержат ли ваши данныеt
? «Необходимость экранирования» подразумевает, что это так. Вы могли бы удалить / заменить их перед экспортом или передатьescapechar='\'
или подобное, чтобы избежать их