如何显示<IPython.core.display.HTML object>?

How to display <IPython.core.display.HTML object>?

我尝试 运行 下面的代码,但我在显示结果时遇到了问题。 另外,我使用 pycharm IDE.

from fastai.text import *

data = pd.read_csv("data_elonmusk.csv",  encoding='latin1')
data.head()

data = (TextList.from_df(data, cols='Tweet')
                .split_by_rand_pct(0.1)
                .label_for_lm()
                .databunch(bs=48))

data.show_batch()

我 运行 行 "data.show_batch()" 的输出是:

IPython.core.display.HTML object

我通过 运行 Jupyter Notebook 上的代码解决了我的问题。

您可以在 data.show_batch() 之后添加此代码:

plt.show()

您只能在浏览器中呈现 HTML 而 不能在 Python console/editor 环境中呈现

因此它适用于 Jupiter notebook、Jupyter Lab 等

充其量你调用 .data 来查看 HTML,但同样它不会呈现

如果您不想在 Jupyter Notebook 中工作,您可以将 data 另存为 HTML 文件并在浏览器中打开它。

with open("data.html", "w") as file:
    file.write(data)

除了将其写入文件之外的另一个选择是在 Python 中使用 HTML 解析器以编程方式编辑 HTML。 Python 中最常用的工具是 beautifulsoup。您可以通过

安装它

pip install beautifulsoup4

那么在你的程序中你可以做

from bs4 import BeautifulSoup

html_string = data.show_batch().data
soup = BeautifulSoup(html_string)
# do some manipulation to the parsed HTML object
# then do whatever else you want with the object

只使用HTML对象的数据组件。

with open("data.html", "w") as file:
    file.write(data.data)