正在尝试在Python中将一组已删除的值转换为DataFrame。df=DataFrame(您的_列表,列=['Name'])只接受文本,不接受完整的str

2024-05-23 18:41:17 发布

您现在位置:Python中文网/ 问答频道 /正文

我有一个列表,其中包含一些粗略的值,如:

[<a href="shropshire.html">A Shropshire Lad (David Austin Rose, Austin, 1997) </a>,
 <a href="agiraud.html">Abbé Giraudier (Hybrid Perpetual, Levet, 1869)</a>,
 <a href="abelcarr.html">Abel Carrière (Hybrid Perpetual, E. Verdier, 1875)</a>,
 <a href="abelc.html">Abel Carrière (Illustration from <em>Le Livre d'Or des Roses</em>, 1903)</a>,
 <a href="darby.html">Abraham Darby® (David Austin Rose, Austin, 1985)</a>,
 <a href="adammes.html">Adam Messerich (Hybrid Bourbon, Lambert, 1920)<br/>
 </a>,

将列表转换为数据框时,列中只显示文本,而不是完整值

enter image description here

如何使用每个<a> ... </a>,的全部内容制作df?或者,如何获得包含两列的df,一列包含href,另一列包含text


Tags: redf列表htmldavidhrefemrose
1条回答
网友
1楼 · 发布于 2024-05-23 18:41:17

在这里为其他开发者发布答案

您需要从标签中提取href和文本

典型的

soup = BeautifulSoup(html.text,'lxml')
with open(filename,'w',newline='',encoding='utf-8') as f:
    w = csv.writer(f)
    for a in soup.find_all('a',href=True):
        text = a.text
        link = a['href']
        w.writerow([text,link])

然后你可以像这样把这个CSV加载到熊猫中

pandas.read_csv('filename.csv', columns =['text','url'])

相关问题 更多 >