首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在BeautifulSoup中创建行和列

在BeautifulSoup中创建行和列
EN

Stack Overflow用户
提问于 2021-11-19 12:40:40
回答 1查看 164关注 0票数 0

下面是代码python代码输出,我希望在dataframe中输出行和列:

代码语言:javascript
复制
response = requests.get(source_data) 
   
soup = BeautifulSoup(response.text, "html.parser")

States = soup.find_all('div',class_ = 'card bg-darker p-3 mb-3')

    for item in States :

        state_name = item.find(class_='fw-bold fs-5 mb-2').text

        vaccinated_per = item.find(class_='col-3 text-end fs-5 ff-s text-success').text

        print(state_name,vaccinated_per)

输出:

佛兰德80.24%

瓦隆尼亚70.00%

布鲁塞尔56.73%

Ostbelgien 65.11%

EN

回答 1

Stack Overflow用户

发布于 2021-11-19 13:03:55

收集数据列表中的信息,然后简单地从其中创建一个数据框架:

代码语言:javascript
复制
    data = []
    
    for item in States :
    
        data.append({
            'state_name' : item.find(class_='fw-bold fs-5 mb-2').text,
            'vaccinated_per' : item.find(class_='col-3 text-end fs-5 ff-s text-success').text
        })
    
    pd.DataFrame(data)

示例

代码语言:javascript
复制
from bs4 import BeautifulSoup
import requests
import pandas as pd

    
headers = {'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/62.0.3202.94 Safari/537.36'}
response = requests.get('https://covid-vaccinatie.be/en', headers=headers)

soup = BeautifulSoup(response.text, "html.parser")

States = soup.find_all('div',class_ = 'card bg-darker p-3 mb-3')

data = []

for item in States :

    data.append({
        'state_name' : item.find(class_='fw-bold fs-5 mb-2').text,
        'vaccinated_per' : item.find(class_='col-3 text-end fs-5 ff-s text-success').text
    })

pd.DataFrame(data)

输出

代码语言:javascript
复制
    state_name  vaccinated_per
0   Flanders    80.24%
1   Wallonia    70.00%
2   Brussels    56.73%
3   Ostbelgien  65.11%
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/70035011

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档