如何解析PRE标签中的文本(由BR分隔)

时间:2018-02-15 11:55:12

标签: excel parsing beautifulsoup

<pre><pre>Coupon: 0.990<BR>
Date: 07-26-2000     Interest gain: 07-26-2000<BR>
1st Coupon: 08-15-2000 Next Couppn: 02-15-2018<BR>
Frequency: Monthly       Int Calc: ACT/ACT<BR>
1st Var: 08-03-2000 Nxt Var: 02-15-2018<BR>
Var Frq: Weekly<BR>
Init Rt: 4.100</pre></pre>

我正在尝试将内容解析为表格格式

Coupon - 0.990
Date - 07-26-2000
interest gain - 07-26-2000
1st coupon - 08-15-2000
next coupon - 02-15-2018
frequency - Monthly

我需要将输出写入Excel

请帮忙。

2 个答案:

答案 0 :(得分:0)

您可能能够使用旧清理的变体解析此字符串,并使用分割技巧。您的字符串分为<BR>行和:列,所以:

myString = myString.replace("<pre>","");
myString = myString.replace("</pre>","");
myStringArray = myString.split("<BR>");
... loop over myStringArray to process values ...
   myElements = myElement.split(":");
   ... put correct pieces into the table ...

我知道我的回答忽略了beautifulsoup,但基本的Python似乎已经足够了。我的例子几乎是Java / JavaScript伪代码,但你可以从中得到这个想法。

答案 1 :(得分:0)

if s.find('1st Coupon:')!= -1:
            firstCoupon = s[s.find("1st"):s.find("N")].split(':')[1]
            nextCoupon = s[s.find("Nxt"): ].split(':')[1]

使用上面的结构进行拆分和解析。问题解决了。谢谢大家