Python提取文字中的坐标并保存成双层列表
时间: 2024-10-13 07:13:40 浏览: 22
python 提取文字段落中的日期字符串
5星 · 资源好评率100%
在Python中,如果你需要从文本数据中提取特定格式的坐标信息,并将其保存为双层列表,这通常涉及到字符串处理和正则表达式。假设你的坐标是以某种模式出现的,例如"(x,y)"、"[x,y]"或者"x y"等形式,你可以编写一个函数来解析这样的字符串。
```python
import re
def extract_coordinates(text):
pattern = r'\(([\d]+),\s*([\d]+)\)|\[([\d]+),\s*([\d]+)\]|\s*(\d+)\s+(\d+)' # 正则表达式匹配坐标
matches = re.findall(pattern, text)
# 将匹配结果整理成双层列表
coordinates_list = []
for match in matches:
if len(match) == 4:
# 匹配的是 "(x, y)" 或 "[x, y]"
coordinates_list.append([int(match[0]), int(match[1])])
elif len(match) == 2:
# 匹配的是 "x y"
coordinates_list.append([int(match[0]), int(match[1])])
return coordinates_list
# 示例
text = "在(10, 20)和[30, 40]以及50 60的位置有内容。"
coordinates = extract_coordinates(text)
print(coordinates) # 输出: [[10, 20], [30, 40], [50, 60]]
```
这个函数首先使用`re.findall()`查找所有匹配的坐标,然后将每个匹配项转换为整数并添加到双层列表中。请注意,这个例子假设坐标都是用逗号分隔的。如果实际数据格式有所不同,你需要调整正则表达式以适应实际情况。
阅读全文