You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Python从列表文本提取坐标并标记类型导出CSV的方法

解决方案:提取步行路线坐标并导出为CSV

当然可以搞定这个需求!我来帮你一步步实现,解决你之前用'(['提取坐标失败的问题——主要是文本格式里的空格、额外字符干扰了简单匹配,用正则表达式来定位坐标会更稳妥。

思路拆解

咱们分四步走,把问题拆成简单的小任务:

  1. 从列表第一个元素里剥离出纯路线文本(去掉后面的服务时间、时长等无关内容)
  2. 拆分出每个途经点的完整信息
  3. 给每个点标记类型(起点/中间点/终点)
  4. 将整理好的数据写入CSV文件

完整代码实现

import re
import csv

# 你的原始列表
route_list = [
    'Route 0: 0([1.11, 2.11]) -> 68([5.11, -6.11]) -> 0([1.11, 2.11]) Service Time(53) Time(1:54, 24:0)\n',
    'item 2\n',
    'item 3\n',
    'item 4\n'
]

# 1. 提取纯路线文本,截断掉后面的服务时间等无关内容
route_text = route_list[0].split('Service Time')[0].strip()

# 2. 按箭头分割每个途经点
points = route_text.split(' -> ')

# 3. 处理每个点:提取编号、坐标,标记类型
processed_data = []
for idx, point in enumerate(points):
    # 用正则匹配点编号和坐标,适配带负号的小数
    match = re.match(r'(\d+)\((\[.*?\])\)', point)
    if match:
        point_id = match.group(1)
        # 解析坐标字符串为数值:去掉括号、空格,拆分x/y
        coord_str = match.group(2).strip('[]').replace(' ', '')
        x, y = map(float, coord_str.split(','))
        
        # 标记点类型:第一个是起点,最后一个是终点,其余是中间点
        if idx == 0:
            point_type = '起点'
        elif idx == len(points)-1:
            point_type = '终点'
        else:
            point_type = '中间点'
        
        processed_data.append({
            '点编号': point_id,
            'X坐标': x,
            'Y坐标': y,
            '类型': point_type
        })

# 4. 写入CSV文件
output_file = '步行路线坐标.csv'
with open(output_file, 'w', encoding='utf-8', newline='') as f:
    writer = csv.DictWriter(f, fieldnames=['点编号', 'X坐标', 'Y坐标', '类型'])
    writer.writeheader()
    writer.writerows(processed_data)

print(f"文件 {output_file} 已成功生成!")

关键部分解释

  • 正则匹配:r'(\d+)\((\[.*?\])\)'专门用来匹配0([1.11, 2.11])这种格式,其中:
    • (\d+)抓出点的编号(比如0、68)
    • (\[.*?\])精准定位括号里的坐标内容(比如[1.11, 2.11])
  • 点类型判断:因为路线是从起点出发最终回到起点,所以第一个点标记为起点,最后一个标记为终点,中间所有点都是中间点
  • CSV写入:用csv.DictWriter可以按字段名规整写入,生成的CSV结构清晰,方便后续查看或处理

最终CSV效果

生成的文件内容如下:

点编号,X坐标,Y坐标,类型
0,1.11,2.11,起点
68,5.11,-6.11,中间点
0,1.11,2.11,终点

内容的提问来源于stack exchange,提问作者Mazz

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.29 07:55:41