使用beautifulsoup将字符串作为列表获取到一行中

2024-09-27 18:00:36 发布

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

我希望在单行中获取地址内容,因为当我尝试将它们写入csv时,这会产生问题

text = """
<B721>
<PARTY-US>
<NAM><FNM><PDAT>Minhua</PDAT></FNM><SNM><STEXT><PDAT>Lu</PDAT></STEXT></SNM></NAM>
<ADR>
<CITY><PDAT>Mohegan Lake</PDAT></CITY>
<STATE><PDAT>NY</PDAT></STATE>
</ADR>
</PARTY-US>
</B721>
<B721>
<PARTY-US>
<NAM><FNM><PDAT>Nobushige</PDAT></FNM><SNM><STEXT><PDAT>Korenaga</PDAT></STEXT></SNM></NAM>
<ADR>
<CITY><PDAT>Utsunomiya</PDAT></CITY>
<CTRY><PDAT>JP</PDAT></CTRY>
</ADR>
</PARTY-US>
</B721>
"""


from bs4 import BeautifulSoup
soup = BeautifulSoup(text, 'lxml')

### Address info
inventors = main_inventor.find_all("b721")
address_info = inventor_address = ", ".join([i.find("adr").text.strip() for i in inventors])

我得到以下输出:

Mohegan Lake
NY, Utsunomiya
JP

我怎么能这么做


Tags: textcitypartyusstateadrlakeny
1条回答
网友
1楼 · 发布于 2024-09-27 18:00:36

如果要替换所有换行符/换行符:

# you probably want to use a space ' ' to replace  newlines/breaks '\n'
# `\n` is used in unix like environments; `\r\n` is used in windows. 

address_info = address_info.replace('\n', ' ').replace('\r', '')

相关问题 更多 >

    热门问题