首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何从BeautifuleSoup创建的输出CSV文件中删除一种数据

如何从BeautifuleSoup创建的输出CSV文件中删除一种数据
EN

Stack Overflow用户
提问于 2020-10-24 17:55:55
回答 1查看 35关注 0票数 0
代码语言:javascript
复制
<small class="truncate text-bold">Heart ...</small>
<small class="truncate text-bold">Fuse</small>
<small class="truncate text-bold">Fuse</small>
<small class="truncate text-bold">hello</small>
<small class="truncate text-bold">trap</small>
<small class="truncate text-bold">Fuse</small>
<small class="truncate text-bold">kick</small>
<small class="truncate text-bold">Fuse</small>

<small class="truncate text-bold blurple2">I 1</small>
<small class="truncate text-bold blurple2">I 2</small>
<small class="truncate text-bold blurple2">I 3</small>
<small class="truncate text-bold blurple2">I 4</small>
<small class="truncate text-bold blurple2">I 5</small>
<small class="truncate text-bold blurple2">I 6</small>
<small class="truncate text-bold blurple2">I 7</small>


for row in c_soup:
    s_c = row.find("small",{'class':'truncate text-bold'}).text.strip()
    s_i = row.find("small",{'class':'truncate text-bold blurple2'}).text.strip()
    

    print(s_i + ' ' + s_c)

我的输出是

  1. I 1心脏.
  2. I2熔断器(
  3. I3 Fuse
  4. I4 hello

>H 110i 5陷阱H 211<代码>H 112i 6熔断器<代码>H 213<代码>H 114i 7踢<代码>H 215<代码>H 116i 8熔断器<代码>H 217/代码><代码>G 218

我不想把保险丝放进我的输出

  1. I 1心脏.
  2. I 4你好
  3. I 5陷阱
  4. I 7踢

G 228

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2020-10-24 18:01:08

如果我正确地理解了您,您希望从<small>标记中“压缩”文本,而不是包含“Fuse”字的文本:

代码语言:javascript
复制
from bs4 import BeautifulSoup

html_doc = '''<small class="truncate text-bold">Heart ...</small>
<small class="truncate text-bold">Fuse</small>
<small class="truncate text-bold">Fuse</small>
<small class="truncate text-bold">hello</small>
<small class="truncate text-bold">trap</small>
<small class="truncate text-bold">Fuse</small>
<small class="truncate text-bold">kick</small>
<small class="truncate text-bold">Fuse</small>

<small class="truncate text-bold blurple2">I 1</small>
<small class="truncate text-bold blurple2">I 2</small>
<small class="truncate text-bold blurple2">I 3</small>
<small class="truncate text-bold blurple2">I 4</small>
<small class="truncate text-bold blurple2">I 5</small>
<small class="truncate text-bold blurple2">I 6</small>
<small class="truncate text-bold blurple2">I 7</small>
'''

soup = BeautifulSoup(html_doc, 'html.parser')

for a, b in zip( soup.select('.truncate:not(.blurple2)'), soup.select('.blurple2') ):
    if 'Fuse' in a.text:
        continue
    print(b.text + ' ' + a.text)

指纹:

代码语言:javascript
复制
I 1 Heart ...
I 4 hello
I 5 trap
I 7 kick
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/64516423

复制
相关文章

相似问题

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