这是我第一次使用BeautifulSoup。
基本上,我使用BeautifulSoup来提取数据。我正在尝试基于webtable在csv中构建一个表。我的表格的一个示例行如下所示:
[<td>1</td>, <td> Chief executives and senior officials</td>, <td>£120,830</td>,<td>-3.8</td>]
现在,问题是当我使用.text.encode('utf8')
时,输出变为:
('1', ' Chief executives and senior officials', '\xc2\xa3120,830', '-3.8')
数字£120,830
变为\xc2\xa3120,830
,我不知道这是什么类型的编码。有没有办法让我得到正确的输出£120,830
而不是疯狂的编码?
或者,有没有办法让这个疯狂编码的东西\xc2\xa3120,830
在我的csv中看起来像£120,830
?有谁知道如何处理这类问题?
另一种方法是删除<td>
标记并保留内容,但是如何在python中执行此操作?有没有一种有效的方法来摆脱这些标签?
任何帮助将不胜感激。感谢
答案 0 :(得分:2)
当你将它编码为UTF-8时,这就是£的出现方式。如果那不是你想要的,你为什么编码?
更详细地说,UTF-8将U+00A3编码为字节序列0xC2 0xA3(两个字节),Python在字符串中显示为'\xc2\xa3'
。
如果你想在一个文件中想要这个并且你希望文件是UTF-8编码的,那么没有什么不对,除了你用来查看文件的内容。