| 
 | 
 
马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册  
 
x
 
 下面的代码形成一列数据帧,我想要项目和数据两列,要怎么修改?求大师帮忙,谢谢 
 
data = '''<div class="fund-info"> 
        <ul> 
            <li class="padding-left-10"> 
                <a href="/Company/f10/gmbd_80000229.html">管理规模</a>: 
                <label class="grey">15339.72亿元</label> 
            </li> 
            <li>基金数量: 
                <label class="grey"><a href="/Company/f10/jjjz_80000229.html">550</a>只</label> 
            </li> 
            <li>经理人数: 
                <label class="grey"><a href="/Company/f10/jjjl_80000229.html">73</a>人</label> 
            </li> 
            <li class="rating">天相评级: 
                    <label class="star grade iconfont"></label> 
                    <label class="star grade iconfont"></label> 
                    <label class="star grade iconfont"></label> 
                    <label class="star grade iconfont"></label> 
                    <label class="star grade iconfont"></label> 
 
            </li> 
            <li class="date">成立日期: 
                <label class="grey">2001-04-17</label> 
            </li> 
            <li>公司性质: 
                <label class="grey">中资企业</label> 
            </li> 
        </ul> 
    </div>''' 
 
    div_list = soup.find_all('div', class_="fund-info")[0] 
    li_list = div_list.find_all('li') 
    li_list_d = []  
    for li in li_list: 
        #li_text = re.sub(r'\s','',li.get_text().strip()) 
        li_text = re.sub(r'\s','',li.get_text()) 
        li_list_d.append(li_text) 
 
    print(li_list_d)   #['管理规模:15339.72亿元', '基金数量:550只', '经理人数:73人', '天相评级:\ue62d\ue62d\ue62d\ue62d\ue62d', '成立日期:2001-04-17', '公司性质:中资企业'] 
    df2 = pd.DataFrame(li_list_d)          
    print(df2)     
     
   
您好!根据您的需求,我帮您修改了代码,使其能够生成一个包含“项目”和“数据”两列的数据帧。 
 
请参考以下代码: 
 
- import re
 
 - import pandas as pd
 
 - from bs4 import BeautifulSoup
 
  
- data = '''<div class="fund-info">
 
 -         <ul>
 
 -             <li class="padding-left-10">
 
 -                 <a href="/Company/f10/gmbd_80000229.html">管理规模</a>:
 
 -                 <label class="grey">15339.72亿元</label>
 
 -             </li>
 
 -             <li>基金数量:
 
 -                 <label class="grey"><a href="/Company/f10/jjjz_80000229.html">550</a>只</label>
 
 -             </li>
 
 -             <li>经理人数:
 
 -                 <label class="grey"><a href="/Company/f10/jjjl_80000229.html">73</a>人</label>
 
 -             </li>
 
 -             <li class="rating">天相评级:
 
 -                     <label class="star grade iconfont"></label>
 
 -                     <label class="star grade iconfont"></label>
 
 -                     <label class="star grade iconfont"></label>
 
 -                     <label class="star grade iconfont"></label>
 
 -                     <label class="star grade iconfont"></label>
 
  
-             </li>
 
 -             <li class="date">成立日期:
 
 -                 <label class="grey">2001-04-17</label>
 
 -             </li>
 
 -             <li>公司性质:
 
 -                 <label class="grey">中资企业</label>
 
 -             </li>
 
 -         </ul>
 
 -     </div>'''
 
  
- soup = BeautifulSoup(data, 'html.parser')
 
 - div_list = soup.find_all('div', class_="fund-info")[0]
 
 - li_list = div_list.find_all('li')
 
  
- project_list = []
 
 - data_list = []
 
  
- for li in li_list:
 
 -     li_text = re.sub(r'\s', '', li.get_text())
 
 -     project, data = re.split(r':', li_text, maxsplit=1)
 
 -     project_list.append(project)
 
 -     data_list.append(data)
 
  
- df = pd.DataFrame({'项目': project_list, '数据': data_list})
 
 - print(df)
 
  复制代码 
 
这个代码首先将提取到的信息分为项目和数据两部分,然后将它们分别添加到两个列表中。 
 
最后,我们根据这两个列表创建一个包含“项目”和“数据”两列的数据帧。 
 
注意:请确保已安装 BeautifulSoup 库。如果没有安装,请使用以下命令进行安装: 
 
- pip install beautifulsoup4
 
  复制代码 
 
 
 |   
 
 
 
 |