2024-10-05 14:29:43 发布
网友
我试图将网站上废弃的数据输出到csv文件中,首先我遇到UnicodeEncoding错误,但在使用以下代码后:
if __name__ == "__main__": reload(sys) sys.setdefaultencoding("utf-8")
我可以生成csv,下面是相同的代码:
但是我在输出csv中只得到一个设备名,我没有任何编程背景,请原谅我的无知。 你能帮我找出这个问题吗?在
这是意料之中的;每次找到元素时,都从头开始编写文件。在循环链接之前,只打开文件一次,然后为找到的每个锚点写入行:
with open('Smartphones.csv', 'wb') as csvfile: spamwriter = csv.writer(csvfile, delimiter=',') for anchor in soup.findAll('a', {"class": "clickStreamSingleItem"}): print anchor['title'] spamwriter.writerow([anchor['title'].encode('utf8')])
使用w打开一个要写入的文件,首先会清除该文件,然后对每个定位点执行该操作。在
w
至于您的unicode错误,请不惜一切代价避免更改默认编码。相反,对行进行适当的编码;在上面的示例中,您可以删除整个.setdefaultencoding()调用(以及它前面的reload())。在
.setdefaultencoding()
reload()
这是意料之中的;每次找到元素时,都从头开始编写文件。在循环链接之前,只打开文件一次,然后为找到的每个锚点写入行:
使用
w
打开一个要写入的文件,首先会清除该文件,然后对每个定位点执行该操作。在至于您的unicode错误,请不惜一切代价避免更改默认编码。相反,对行进行适当的编码;在上面的示例中,您可以删除整个
.setdefaultencoding()
调用(以及它前面的reload()
)。在相关问题 更多 >
编程相关推荐