将pdsas dataframe列中的HTML转换为纯文本,该列从csv文件读取

问题描述 投票:1回答:1

我有一个pandas数据框,它有两列:一列包含HTML和小格式标签,如br和&nbsp,另一列名为USEFUL。

我想将HTML列转换为纯文本而不使用“br”标记和&nbsp。 HTML也可能包含其他格式标记,因此使用正则表达式不是一个选项。为不提供数据框外观而道歉。我的格式很糟糕。

提前致谢。

python pandas html-parsing dataframe
1个回答
1
投票

Method 1:

根据这个link,这种方法比方法2快。它需要安装selectolax模块(使用:pip install selectolax)。您可以在here中找到使用此模块的更多示例。

from selectolax.parser import HTMLParser

df['string_in_HTML']=data.apply(lambda x: HTMLParser(x['HTML']).body.text(separator=' ').replace('\n',' '),axis=1)

Method 2:

这是我在SO中遇到的最流行的方法,需要安装bs4模块(使用:pip install bs4

from bs4 import BeautifulSoup

df['string_in_HTML']=data.apply(lambda x: BeautifulSoup(x['HTML']).get_text().replace('\n',' '),axis=1)
© www.soinside.com 2019 - 2024. All rights reserved.