2)从给定的 POI 文件中直接读入并保存为Excel 文件,之后进行 1)的处理;尝试利用正则表达进行信息检索(如检索出座机号码等)。
时间: 2023-05-28 08:05:50 浏览: 124
这里提供一些Python代码示例,实现从给定的POI文件中读取数据并保存为Excel文件,以及利用正则表达式进行信息检索的功能。
1. 读取POI文件并保存为Excel文件
```python
import xlwt
import xml.etree.ElementTree as ET
# 读取POI文件
tree = ET.parse('poi.xml')
root = tree.getroot()
# 创建Excel文件并添加工作表
workbook = xlwt.Workbook(encoding='utf-8')
worksheet = workbook.add_sheet('POI')
# 添加表头
worksheet.write(0, 0, '名称')
worksheet.write(0, 1, '地址')
worksheet.write(0, 2, '电话')
worksheet.write(0, 3, '经度')
worksheet.write(0, 4, '纬度')
# 遍历POI节点,将数据写入Excel文件
row = 1
for poi in root.iter('poi'):
name = poi.find('name').text
address = poi.find('address').text
phone = poi.find('phone').text
lon = poi.find('lon').text
lat = poi.find('lat').text
worksheet.write(row, 0, name)
worksheet.write(row, 1, address)
worksheet.write(row, 2, phone)
worksheet.write(row, 3, lon)
worksheet.write(row, 4, lat)
row += 1
# 保存Excel文件
workbook.save('poi.xls')
```
2. 利用正则表达式进行信息检索
```python
import re
import xml.etree.ElementTree as ET
# 读取POI文件
tree = ET.parse('poi.xml')
root = tree.getroot()
# 定义正则表达式
phone_pattern = re.compile(r'\d{3}-\d{8}|\d{4}-\d{7,8}')
# 遍历POI节点,匹配电话号码并输出
for poi in root.iter('poi'):
name = poi.find('name').text
phone = poi.find('phone').text
if phone is not None:
match = phone_pattern.search(phone)
if match:
print('名称:{},电话:{}'.format(name, match.group()))
```
以上代码仅供参考,具体实现还需根据实际情况进行调整。
阅读全文