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 和生效日期即可。
热门AI工具
相关专题
本专题聚焦DBeaver数据库连接配置与管理,覆盖从新建连接、选择数据库类型到填写连接参数和验证连接的完整流程。针对MySQL、PostgreSQL、SQL Server等常见数据库,整理相应的连接设置方法,并提供驱动缺失、认证失败和连接异常等问题的排查方向。
0
2026.11.04
本专题围绕XORM框架的结构体映射展开,说明表名与字段的命名策略、xorm标签常用属性、主键自增与时间字段自动填充,并演示Sync2自动建表、增量字段升级、索引声明与反向生成结构体的完整流程。
0
2026.11.04
本专题聚焦XORM框架的配置与连接环节,拆解MySQL、PostgreSQL、SQLite、SQL Server的DSN写法与驱动选择,讲清连接池参数、多数据源拆分、读写分离与超时重连的处理方式,并补充容器与兼容数据库的适配经验。
0
2026.11.04
本专题聚焦XORM框架的配置与连接环节,拆解MySQL、PostgreSQL、SQLite、SQL Server的DSN写法与驱动选择,讲清连接池参数、多数据源拆分、读写分离与超时重连的处理方式,并补充容器与兼容数据库的适配经验。
0
2026.11.04
本专题聚焦XORM框架的配置与连接环节,拆解MySQL、PostgreSQL、SQLite、SQL Server的DSN写法与驱动选择,讲清连接池参数、多数据源拆分、读写分离与超时重连的处理方式,并补充容器与兼容数据库的适配经验。
0
2026.11.04
本专题梳理XORM框架的入门路径,从框架定位、依赖安装、连接数据库到跑通第一个增删改查示例,讲清Engine初始化、日志开启与项目目录规划,并对比GORM等同类ORM的差异,帮助Go开发者建立整体认知。
0
2026.11.04
本专题聚焦Docker Desktop容器端口映射与访问配置,整理从创建容器、设置端口绑定到验证本地服务访问的操作流程。针对端口被占用、映射配置错误、容器服务无法访问等情况,也提供相应的检查方向,方便用户完成端口配置。
0
2026.11.03
想使用Docker Desktop将本地项目构建成Docker镜像?本专题围绕镜像构建的实际操作展开,介绍Dockerfile编写、构建命令使用、镜像标签设置和构建日志查看等内容,同时整理镜像无法生成、依赖安装失败及构建缓存异常等问题的排查思路。
0
2026.11.03
本专题聚焦Docker Desktop容器创建与运行配置,介绍通过本地镜像或远程镜像创建容器的方法,以及容器启动、终端访问、日志查看和基础管理等操作。针对端口冲突、参数配置不当、容器无法启动等情况,也整理了相应的排查方向。
0
2026.11.03
热门下载
相关下载
精品课程
共6课时 | 12.1万人学习
共79课时 | 161.7万人学习
共6课时 | 54.7万人学习