#csv #double-quotes
#csv #двойные кавычки
Вопрос:
Я получаю эту странную проблему при сохранении результатов в файле csv.
summary = site.select('.//*[contains(@class, "summary")]/p/text()').extract()
description = ""
while (len(summary) != 0):
description = description summary.pop(0).encode('utf-8')
description = str(description)
item['Description'] = description
Поэтому меня беспокоит столбец Описания. Я извлекаю эти результаты в формате csv. Если я открою его в Excel, результаты отображаются нормально. Но когда я открываю его с помощью wordpad, я вижу, что для некоторых данных описания str имеет двойные кавычки в начале и конце строки, тогда как в некоторых случаях двойные кавычки отсутствуют.
Есть идеи, почему такое странное поведение
Комментарии:
1. Просто распечатать все описания, проходящие через код? В вопросе отсутствует контекст, как можно повторить эту проблему, и, следовательно, он здесь не отвечает.
2. предоставьте текстовый файл для тестирования
Ответ №1:
Это НЕ странное поведение, оно вполне ожидаемо. Wordpad является текстовым процессором и не будет пытаться интерпретировать ваш .Файл CSV не больше, чем файл .TXT. Каждая строка в файле обрабатывается просто как строка текста. Однако Excel интерпретирует запятые (или точки с запятой, в зависимости от локали) как разделители полей. Он также интерпретирует «двойные кавычки» как механизм, предотвращающий измельчение поля, содержащего разделители. Пример:
Файл:
Tom, Dick, and Harry,en
Zhang san, Li si,zh
"Tom, Dick, and Harry",en
"Zhang san, Li si",zh
Как загружено Excel:
A B C D
Tom Dick and Harry en
Zhang san Li si zh
Tom, Dick, and Harry en
Zhang san, Li si zh