从Pandas DataFrame清除CSS样式块

时间:2017-08-04 20:26:28

标签: python css python-3.x pandas

我有一些df,其中有些记录如下:

Untitledp { margin-top: 0px;margin-bottom: 0px;line-height: 1.15; } body { font-family: 'Times New Roman';font-style: Normal;font-weight: normal;font-size: 13.3333333333333px; } .Normal { telerik-style-type: paragraph;telerik-style-name: Normal;border-collapse: collapse; } .TableNormal { telerik-style-type: table;telerik-style-name: TableNormal;border-collapse: collapse; } .s_F0039783 { telerik-style-type: local;font-size: 13.34px; } .s_45EBF2E0 { telerik-style-type: local;font-family: 'Times New Roman';font-size: 13.3333333333333px;color: #000000; } A sentence that I actually want.

我想删除CSS样式块,最后只返回句子。每个记录的css块数可以不同。所有记录均以" Untitledp"并以我想要的文字结尾(文本后没有样式块)。

我应该如何清洁这些街区?我使用BeautifulSoup清除html标记,但它不适用于这些块。

1 个答案:

答案 0 :(得分:1)

使用sub()

可以使用正则表达式
regex = re.compile('.+\s*{.*}')
regex.sub('', s) # s is copy paste of your sample
' A sentence that I actually want.'

至少它在这个例子中起作用。但是要小心,如果你想要获得的句子中有{} ,这将失败。但是,由于句子通常不包含这些字符......