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

如何将COD列按指定长度拆分至3列(1/2/3位)?

拆分COD列的实现方案

以下是几种常见工具下的实现方案,满足将6位COD值拆分为1位、2位、3位的三列需求:

Excel/Google Sheets 实现

直接使用文本提取函数处理:

  • CODA(提取第1位):=LEFT(TEXT(A2,"000000"),1)
    用TEXT函数确保COD是6位文本格式(避免数字开头的0丢失),再用LEFT取第1位
  • CODB(提取第2-3位):=MID(TEXT(A2,"000000"),2,2)
    MID函数从第2位开始,提取2个字符
  • CODC(提取第4-6位):=MID(TEXT(A2,"000000"),4,3)
    从第4位开始,提取3个字符

把公式下拉填充即可批量处理所有行。

Python Pandas 实现

通过字符串切片快速拆分:

import pandas as pd

# 假设数据已读入DataFrame
df = pd.read_csv("your_data.csv")

# 先将COD转为6位字符串(确保格式统一)
df["COD_str"] = df["COD"].astype(str).str.zfill(6)

# 拆分列
df["CODA"] = df["COD_str"].str[0]
df["CODB"] = df["COD_str"].str[1:3]
df["CODC"] = df["COD_str"].str[3:6]

# 可选:删除临时的COD_str列
df = df.drop("COD_str", axis=1)

str.zfill(6)会自动给不足6位的数字补前导0,保证拆分逻辑统一。

SQL 实现

根据不同数据库使用对应的字符串截取函数:

MySQL/MariaDB

SELECT
  COD,
  SUBSTRING(CAST(COD AS CHAR(6)), 1, 1) AS CODA,
  SUBSTRING(CAST(COD AS CHAR(6)), 2, 2) AS CODB,
  SUBSTRING(CAST(COD AS CHAR(6)), 4, 3) AS CODC
FROM your_table;

SQL Server

SELECT
  COD,
  SUBSTRING(CAST(COD AS VARCHAR(6)), 1, 1) AS CODA,
  SUBSTRING(CAST(COD AS VARCHAR(6)), 2, 2) AS CODB,
  SUBSTRING(CAST(COD AS VARCHAR(6)), 4, 3) AS CODC
FROM your_table;

Oracle

SELECT
  COD,
  SUBSTR(TO_CHAR(COD, 'FM000000'), 1, 1) AS CODA,
  SUBSTR(TO_CHAR(COD, 'FM000000'), 2, 2) AS CODB,
  SUBSTR(TO_CHAR(COD, 'FM000000'), 4, 3) AS CODC
FROM your_table;

TO_CHAR(COD, 'FM000000')用于将数字转为无空格的6位文本,避免前导0丢失。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.15 05:40:22