将文件写入csv时解码问题

时间:2017-09-14 07:15:43

标签: python csv beautifulsoup

使用下面的代码,我尝试从具有特殊字符的url中提取描述。

from bs4 import BeautifulSoup
import urllib.request
import pandas as pd
html = urllib.request.urlopen('http://uk.rs-online.com/web/p/piezoelectric-
miniature-speakers/7868948/').read()
soup = BeautifulSoup(html)
description = soup.find(itemprop="name").string.strip()
description
pd.DataFrame([description]).to_csv('file.csv')

在查看csv文件中的抓取数据时,我发现这些特殊字符被替换为问号。

如何在csv文件中获取这些特殊字符。

提前感谢您的建议。

1 个答案:

答案 0 :(得分:0)

选择正确的编码,文件中会出现特殊字符。我用utf8测试它并正确显示所有特殊字符。

from bs4 import BeautifulSoup
import urllib.request
import pandas as pd
html = urllib.request.urlopen('http://uk.rs-online.com/web/p/piezoelectric-miniature-speakers/7868948/').read()
soup = BeautifulSoup(html)
description = soup.find(itemprop="name").string.strip()
pd.DataFrame([description]).to_csv('file.csv', encoding='utf8')

还要确保在编辑器中使用正确的编码打开文件