gpt4 book ai didi

python - 从 html 表制作数据框时,可以在 pandas read_html 中保留换行符吗?

转载 作者:行者123 更新时间:2023-12-05 09:32:10 36 4
gpt4 key购买 nike

我正在尝试使用 pandas read_html 将抓取的 HTML 表格转换为 python 中的数据框。问题是 read_html 不间断地引入了我的数据列,这使得这些单元格的内容难以解析。在原始 HTML 中,列中的每个“单词”都由一个分隔符分隔。有没有办法在转换为数据框时保持这种格式或以其他方式保持“单词”分开?

import requests
from bs4 import BeautifulSoup
import pandas as pd

url="https://www.who.int/en/activities/tracking-SARS-CoV-2-variants/"
html_content = requests.get(url).text

# Parse the html content
soup = BeautifulSoup(html_content, "lxml")

voc_html = soup.find("table")

#convert to dataframe
voc_df = pd.read_html(str(voc_html))[0]

#retain list of variants
voc_list=voc_df['Pango lineages']

来自 voc_list 的示例,其中单独的项目被混在一起:voc_list[1]

`B.1.351\xa0B.1.351.2B.1.351.3`

我希望它看起来像什么:B.1.3510 B.1.351.2 B.1.351.3(或者每个项目都在自己的行中)

原始 html 版本的摘录,包括中断:

<td style="width:13%;background-color:#69d4ef;text-align:left;vertical-align:middle;">Beta <br/></td><td style="width:12.9865%;background-color:#69d4ef;text-align:left;"><p>B.1.351 <br/>B.1.351.2<br/>B.1.351.3</p></td>

感谢您的指导!

最佳答案

也许……

import pandas as pd
import requests

url = r'https://www.who.int/en/activities/tracking-SARS-CoV-2-variants/'

page = requests.get(url)
table = pd.read_html(page.text.replace('<br />',' '))
df = table[0]

输出:

  WHO label               Pango lineages GISAID clade Nextstrain clade  \
0 Alpha B.1.1.7 GRY 20I (V1)
1 Beta B.1.351 B.1.351.2 B.1.351.3 GH/501Y.V2 20H (V2)
2 Gamma P.1 P.1.1 P.1.2 GR/501Y.V3 20J (V3)
3 Delta B.1.617.2 AY.1 AY.2 G/478K.V1 21A

Additional amino acid changes monitored* Earliest documented samples \
0 +S:484K +S:452R United Kingdom, Sep-2020
1 +S:L18F South Africa, May-2020
2 +S:681H Brazil, Nov-2020
3 +S:417N India, Oct-2020

Date of designation
0 18-Dec-2020
1 18-Dec-2020
2 11-Jan-2021
3 VOI: 4-Apr-2021 VOC: 11-May-2021
print(df)

同样,您可以替换 <br />\n .

关于python - 从 html 表制作数据框时,可以在 pandas read_html 中保留换行符吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/68384568/

36 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com