Extract HTML information from df variable(从df变量中提取HTML信息)
本文介绍了从df变量中提取HTML信息的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
亲爱的堆栈溢出社区
这是我第一次在这里提问。希望你能放我一马。 以下是对问题的描述:
- 我使用ogr2org将KML文件转换为CSV
ogr2ogr -f CSV output.csv 'some KML file'.kml - 然后我读入了 pandas 的CSV文件
data = pd.read_csv('output.csv')
- 删除一些奇怪的专栏后,我的结果如下:
In[1]: data.head(8)
Out[1]:
description ID
0 <div class="googft-info-window">
<b>ID:</b> 1... 1
1 <div class="googft-info-window">
<b>ID:</b> 1... 10
2 <div class="googft-info-window">
<b>ID:</b> 1... 100
3 <div class="googft-info-window">
<b>ID:</b> 1... 1000
4 <div class="googft-info-window">
<b>ID:</b> 1... 10000
5 <div class="googft-info-window">
<b>ID:</b> 1... 10001
6 <div class="googft-info-window">
<b>ID:</b> 1... 10002
7 <div class="googft-info-window">
<b>ID:</b> 1... 10003
- 说明变量下的代表性字符串如下:
<div class=""googft-info-window"">
<b>ID:</b> 1<br>
<b>class:</b> 1<br>
<b>fold:</b> 5
</div>
我的问题是如何使用所有<b>...<>作为一个列名从"Description"列中提取干净的信息并将其添加到同一行。
谢谢。 附注:请告诉我将来如何改进我的问题。
推荐答案
您可以将str.extractall与...
df[['ID1', 'class', 'fold']] = df['description'].str.extractall(r'</b>s?(d+)<').unstack()
或str.findall类似于...
df[['ID1', 'class', 'fold']] = df['description'].str.findall(r'</b>s?(w+)<', expand=True)
它们基于类似于...
的字符串<div class=""googft-info-window""><b>ID:</b> 1<br><b>class:</b> 1<br><b>fold:</b> 5</div>
正则表达式匹配您需要从字符串中提取的三个值,并传递给=符号左侧的三个新列。
正则表达式:https://regex101.com/r/wVl2cI/1
这是假定您只有三个要查找的值,并且HTML都是相同的。
输出(示例):
description ID1 class fold
0 <div class=""googft-.. 1 1 1
1 <div class=""googft-.. 1 1 1
2 <div class=""googft-.. 5 5 5
这篇关于从df变量中提取HTML信息的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持编程学习网!
沃梦达教程
本文标题为:从df变量中提取HTML信息
基础教程推荐
猜你喜欢
- WatchKit 支持 html 吗?有没有像 UIWebview 这样的控制器? 2022-01-01
- 什么是不使用 jQuery 的经验技术原因? 2022-01-01
- Javascript 在多个元素上单击事件侦听器并获取目标 2022-01-01
- 为什么我在 Vue.js 中得到 ERR_CONNECTION_TIMED_OUT? 2022-01-01
- 如何使用sencha Touch2在单页中显示列表和其他标签 2022-01-01
- Node.js 有没有好的索引/搜索引擎? 2022-01-01
- 每次设置弹出窗口的焦点 2022-01-01
- jQuery File Upload - 如何识别所有文件何时上传 2022-01-01
- 如何使用 CSS 显示和隐藏 div? 2022-01-01
- 如何在特定日期之前获取消息? 2022-01-01
