В «дополнительные» котировки не данные как таковые. Самые отдаленные цитаты (один на каждом конце) являются просто разделителями строк. Эти разделители являются обязательными на диалекте Excel CSV, когда фактические данные содержат кавычки, которые у вас есть. В ограничителях строк фактические кавычки должны быть «экранированы» путем их удвоения. (Первая неопределенная цитата будет интерпретирована как разделитель замыкающей строки.)
Похоже, вы пытаетесь написать custom dialect of CSV, который не предназначен для использования Excel. Таким образом, вы должны соответствующим образом настроить параметры:
csv_out = unicodecsv.writer(
fh,
encoding='utf-8',
delimiter=';',
quoting=unicodecsv.QUOTE_NONE,
quotechar=None)
Эти настройки будут сохранять существующие ДАННЫЕ кавычку, но предотвратить добавление любых разделителем кавычки. (То есть вышеуказанные настройки будут никогда добавить любые разделительные котировки в любом месте.) Остальная часть вашего кода может оставаться неизменной.
Для получения дополнительной информации внимательно прочитайте Python 2's CSV docs. .. (Я предполагаю, что вы используете Python 2, потому что вы используете unicodecsv
Он разработан, чтобы имитировать интерфейс csv
модуля настолько близко, насколько это возможно в действительности, рекомендуемый способ использовать его, чтобы импортировать его, как это:
import unicodecsv as csv
так, что остальная часть кода выглядит точно, как будто вы используете Python собственного csv
, для возможного encoding
параметра, за исключением. Кстати, вы можете оставить от этого параметра, если нужная кодировка UTF-8.)