南美中美航线价格提取

Polar Sponsor
爱发电 赞助
.NET 9.0

NANMEI_002 南美空运价格提取规则(中美航线)。当用户提供南美价格 Excel 文件(usdc.xlsx,Central America Sheet)时使用。触发词:nanmei_002、usdc、Central America、南美中美航线。

NANMEI_002 价格提取 Skill

功能概述

NANMEI_002 价格提取 Skill是一项面向实际任务的技能,主要用于提取 NANMEI 中美航线(usdc.xlsx)运价表 → 24列标准输出 → 上传 WPS;⚠️ 铁律:仅提取用户最新提交文件,禁止复制历史数据;

核心要点

  • 禁止 查看/引用/复制任何历史脚本中的 price/data 数组;
  • 禁止 从历史输出文件直接读取数据;
  • 禁止 硬编码历史文件路径作为源文件;

使用与执行

每次提取必须从用户当前提交文件 全新读取;有就是有,没有就是。它将相关步骤、工具调用和结果整理方式集中到统一流程中,帮助使用者更快完成目标并减少重复操作。从功能定位来看,该技能强调把分散的操作要求整理成清晰、可复用的处理流程,使用户能够围绕既定目标快速准备输入、选择执行方式并获得结构化结果。

结果检查与注意事项

实际使用前应先确认任务范围、数据来源、运行环境、必要权限和关键参数,再依据技能说明逐步执行;若输入条件不完整,应先补齐信息或采用保守配置,避免因错误假设导致结果偏离需求。执行过程中需要关注工具调用是否成功、接口或依赖是否可用、输出格式是否符合预期,并对异常提示、缺失字段和边界情况进行处理;涉及批量任务时,还应保存进度,避免中断后重复操作。

NANMEI_002 价格提取 Skill

提取 NANMEI 中美航线(usdc.xlsx)运价表 → 24列标准输出 → 上传 WPS。

⚠️ 铁律:仅提取用户最新提交文件,禁止复制历史数据

  • 禁止查看/引用/复制任何历史脚本中的 price/data 数组
  • 禁止从历史输出文件直接读取数据
  • 禁止硬编码历史文件路径作为源文件
  • 每次提取必须从用户当前提交文件全新读取
  • 有就是有,没有就是没有:不得用历史数据填补缺失值

一、核心参数

参数 值
源文件 用户提交(通常为 usdc.xlsx)
Sheet Central America
起始港 PVG(默认)
价格编号 nanmei_002
来源 nanmei
生效日期 动态(datetime.now())
45KG 始终为空
引擎 openpyxl(.xlsx)

二、与 nanmei_001 的关键差异

差异点 nanmei_001 nanmei_002
源文件 usd.xlsx usdc.xlsx
Sheet Hoja1 Central America
生效日期 硬编码 2026-04-20 动态 datetime.now()
数据块键 (dest, carrier, routing) (dest, carrier)(不含 routing)
航司识别 排除 KGS/CBM/LOOSE/PALLET 排除 KGS/CBM/KG
散托解析函数 parse_remark_for_san parse_remark_for_san_and_usd
USD增量存在时 按 remark 判断 强制散货
无备注默认 散货/托盘 散货/托盘(⚠️ 禁止用列名缩写"散托")
路由解析 标准三段 dest段 strip / 后缀

三、强制流程

1. 确认源文件路径
2. openpyxl 加载 Central America
3. 第一遍扫描:行级状态采集(两遍架构同 001)
4. 第二遍处理:按 (dest, carrier) 分组 → 链式推导
5. 生成 24 列 DataFrame
6. 保存 → 自动上传 WPS → 删除临时文件

四、Excel 列映射

col 字段 作用
1 AOD 目的地三字码
2 CARRIER 航司代码 OR 比重(KGS/CBM>XXX)
3 100KG 价格
4 300KG 价格
5 500KG 价格
6 1000KG 价格
7 Frequency 频次
8 Routing 路由(PVG-XXX-YYY-ZZZ)
10 Remark 备注

五、两遍处理架构

5.1 第一遍:行级状态追踪

# 状态变量
current_dest = None       # col1 有值更新
current_carrier = None    # col2 识别为航司更新
current_routing = None    # col8 有值更新
current_origin = None     # 从路由提取
current_transfer = []     # 从路由中段提取
current_freq = None       # col7 有值更新
current_remark = None     # col10 有值更新

5.2 目的港特殊处理

# 与 001 不同:col1 含 / 时用路由目的地
if '/' in str(col1 or ''):
    current_dest = routing_dest  # 从 col8 路由提取

5.3 第二遍:链式推导

# 数据块 = (dest, carrier) — 不含 routing
key = (row['dest'], row['carrier'])
blocks[key].append(row)

GT/LT/1:1 推导逻辑与 001 完全相同。

六、航司识别(is_carrier_code)

与 001 基本相同,额外排除条件:

条件 说明
含 KGS / CBM 货型格式
含 KG 新增排除(如 KG>500)
多航司 / 分隔 每个段 2-4 位字母数字

七、散托类型判断(parse_remark_for_san_and_usd)

与 001 的关键差异:有 USD 增量 → 强制散货。

条件 散托类型 说明
备注有 USD X.XX/KG 散货 有增量 → 强制散货
LOOSE CARTON ONLY / ONLY LOOSE 散货 明确散货
LOOSE + PALLET/CASE 散货/托盘 混合
PALLET / CASE / SKID 托盘 纯托盘
LOOSE 散货 纯散货
无以上 散货/托盘 默认(⚠️ 禁止使用 "散托",那是列名缩写不是数据值)

八、路由提取(extract_routing_info)

与 001 基本相同,差异:dest 和 transfers 会 strip / 后缀。

输入: "PVG-LHR-DFW/IAH-GRU"
→ origin="PVG", transfers=["LHR","DFW"], dest="GRU"
→ dest = re.sub(r'/.*$', '', dest)  # 去掉 / 后部分

九、常见坑

坑1:散托默认值 = "散货/托盘"

002 无备注时默认值 = "散货/托盘",⚠️ 严禁使用列名缩写 "散托" 作为数据值。合法值只有:散货、托盘、散货/托盘。

坑2:USD 增量强制散货

有 USD 增量时,散托类型必须是 "散货",不看其他关键词。

坑3:col1 含 / 时目的地错误

如果 col1 = PTY/MGA,不能用 col1 作为目的地,必须从路由提取。

坑4:block_key 不含 routing

两个不同路由但同一 (dest, carrier) 会被合并推导。如果路由差异影响价格,需要注意。

坑5:is_carrier_code 排除 KG

KG>500 这类内容会被误识别为航司,必须排除。

坑6:合并单元格增量传播(⚠️ 高频 2026-05-25)

货型行的 col9 备注列在 Excel 中常是合并单元格,只有首行有 "usd X.XX/kg" 文本,后续行 col9 为空。

  • 当前航司的 carrier remark 无增量时(如仅"中转费+18"),inc=''
  • 第一个货型行(如 <140)从合并单元格备注中提取到 0.28
  • 后续货型行(<120/<100/<80/>300/>500/>800)col9 为空 → 增量丢失

修复:货型行循环内维护 block_inc,遇到新增量即更新,后续行自动继承。

block_inc = inc  # carrier 增量(可能为空)
for cargo_row in cargo_rows:
    row_st, row_inc = parse_st_type_and_increment(mr9, mr11)
    if row_inc:
        block_inc = row_inc  # 合并单元格首行 → 更新 block
    final_inc = block_inc if block_inc else inc

十、脚本模板

当前脚本:/Users/hantao/WorkBuddy/oone/extract_nanmei_002_0525.py 源文件:用户提交 输出:nanmei_002_0525_output.xlsx(临时,上传后删除)

新批次时需更新 file_path 和生效日期即可。

相关专题

更多
DBeaver连接创建与配置教程
DBeaver连接创建与配置教程

本专题聚焦DBeaver数据库连接配置与管理,覆盖从新建连接、选择数据库类型到填写连接参数和验证连接的完整流程。针对MySQL、PostgreSQL、SQL Server等常见数据库,整理相应的连接设置方法,并提供驱动缺失、认证失败和连接异常等问题的排查方向。

2026.11.04

0

16

XORM框架结构体映射与表结构同步
XORM框架结构体映射与表结构同步

本专题围绕XORM框架的结构体映射展开,说明表名与字段的命名策略、xorm标签常用属性、主键自增与时间字段自动填充,并演示Sync2自动建表、增量字段升级、索引声明与反向生成结构体的完整流程。

2026.11.04

0

15

XORM框架安装配置与数据库连接
XORM框架安装配置与数据库连接

本专题聚焦XORM框架的配置与连接环节,拆解MySQL、PostgreSQL、SQLite、SQL Server的DSN写法与驱动选择,讲清连接池参数、多数据源拆分、读写分离与超时重连的处理方式,并补充容器与兼容数据库的适配经验。

2026.11.04

0

15

XORM框架安装配置与数据库连接
XORM框架安装配置与数据库连接

本专题聚焦XORM框架的配置与连接环节,拆解MySQL、PostgreSQL、SQLite、SQL Server的DSN写法与驱动选择,讲清连接池参数、多数据源拆分、读写分离与超时重连的处理方式,并补充容器与兼容数据库的适配经验。

2026.11.04

0

16

XORM框架安装配置与数据库连接
XORM框架安装配置与数据库连接

本专题聚焦XORM框架的配置与连接环节,拆解MySQL、PostgreSQL、SQLite、SQL Server的DSN写法与驱动选择,讲清连接池参数、多数据源拆分、读写分离与超时重连的处理方式,并补充容器与兼容数据库的适配经验。

2026.11.04

0

16

XORM框架零基础入门教程
XORM框架零基础入门教程

本专题梳理XORM框架的入门路径,从框架定位、依赖安装、连接数据库到跑通第一个增删改查示例,讲清Engine初始化、日志开启与项目目录规划,并对比GORM等同类ORM的差异,帮助Go开发者建立整体认知。

2026.11.04

0

15

Docker Desktop怎么设置端口映射
Docker Desktop怎么设置端口映射

本专题聚焦Docker Desktop容器端口映射与访问配置,整理从创建容器、设置端口绑定到验证本地服务访问的操作流程。针对端口被占用、映射配置错误、容器服务无法访问等情况,也提供相应的检查方向,方便用户完成端口配置。

2026.11.03

0

18

Docker Desktop镜像构建教程
Docker Desktop镜像构建教程

想使用Docker Desktop将本地项目构建成Docker镜像?本专题围绕镜像构建的实际操作展开,介绍Dockerfile编写、构建命令使用、镜像标签设置和构建日志查看等内容,同时整理镜像无法生成、依赖安装失败及构建缓存异常等问题的排查思路。

2026.11.03

0

11

Docker Desktop容器创建指南
Docker Desktop容器创建指南

本专题聚焦Docker Desktop容器创建与运行配置,介绍通过本地镜像或远程镜像创建容器的方法,以及容器启动、终端访问、日志查看和基础管理等操作。针对端口冲突、参数配置不当、容器无法启动等情况,也整理了相应的排查方向。

2026.11.03

0

11

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
热门推荐
/
最新课程
phpStudy极速入门视频教程
phpStudy极速入门视频教程

共6课时 | 54.7万人学习

独孤九贱(4)_PHP视频教程
独孤九贱(4)_PHP视频教程

共89课时 | 134.1万人学习