尝试在 Beautiful Soup 中创建解码的 NavigableStrings 列表

Trying to create a list of decoded NavigableStrings in Beautiful Soup

我想制作一个 NavigableStrings 列表,准备导出到 excel,所有字符串都已解码。这是必要的,因为我需要所有文本在导出到 excel 时前面没有 "u"。

这是我目前所做的:我 运行 通过 for 循环生成列表,并将每次迭代的输出存储到一个新列表中。但是,新列表的每个元素都保留为 unicode。

encoded_list = [u'first', u'second']
decoded_list = []

for elem in encoded_list:
     decoded_list.append(elem.decode())

print decoded_list
>>>[u'first', u'second']

`

很明显,NavigableStrings 可以被解码,但当它们被存储到列表中并立即进行迭代时就不能。

是否有任何其他方法可以使 encoded_list 成为解码的 NavigableString 列表?

如有任何帮助,我们将不胜感激!

您需要编码,而不是解码。例如

encoded_list = [u'first', u'second']
decoded_list = []

for elem in encoded_list:
     decoded_list.append(elem.encode())

print decoded_list
>>>['first', 'second']

此外,您应该将编码传递给 encode(),否则它只会为您的 Python 安装选择默认编码。