将结果存储在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
所以我关注Description列。我以csv格式提取这些结果。如果我在excel中打开它,结果显示正常。但是当我用wordpad打开它时,我可以看到,对于少数描述数据,str在字符串的开头和结尾都有双引号,而在某些情况下,没有双引号。
知道为什么会出现这种奇怪的行为
答案 0 :(得分:2)
这不是奇怪的行为,这是非常期待的。 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