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

SQL数据拆分:如何将品牌列中的型号数据分离至型号列?

表格数据拆分需求与解决方案

原始数据表格

品牌型号
Audi R8NULL
Audi RS2NULL

理想效果表格

我的理想表格

品牌型号
AudiR8
AudiRS2

需求:将品牌列中包含的型号数据(如R8、RS2、RS4等)分离出来,写入型号列。


实用解决方法

1. Excel/Google Sheets 可视化操作

  • 分列法:
    1. 选中品牌列,点击「数据」→「分列」,选择「分隔符号」,勾选「空格」作为分隔符,完成后品牌和型号会分成两列。
    2. 将拆分出的型号列内容复制到原型号列,删除临时拆分列,保留品牌列的品牌部分。
  • 公式批量提取:
    假设品牌列在A1单元格,在其他单元格输入:
    • 提取品牌:=LEFT(A1,FIND(" ",A1)-1)
    • 提取型号:=RIGHT(A1,LEN(A1)-FIND(" ",A1))
      下拉公式批量应用后,复制结果并「粘贴为值」即可。

2. Python Pandas 代码处理

适合批量处理大量数据:

import pandas as pd

# 读取原始表格(示例为CSV格式,可替换为Excel等格式)
df = pd.read_csv("car_data.csv")

# 按第一个空格拆分品牌列,生成品牌和型号列
df[["品牌", "型号"]] = df["品牌"].str.split(" ", n=1, expand=True)

# 保存处理后的表格
df.to_csv("processed_car_data.csv", index=False)

n=1 参数确保只按第一个空格拆分,避免型号中包含空格的异常情况。

3. SQL 数据库操作

若数据存储在数据库中,可通过字符串函数批量更新:

-- 先验证拆分结果
SELECT 
    SUBSTRING(brand, 1, CHARINDEX(' ', brand) - 1) AS 品牌,
    SUBSTRING(brand, CHARINDEX(' ', brand) + 1, LEN(brand)) AS 型号
FROM car_table
WHERE CHARINDEX(' ', brand) > 0;

-- 确认无误后执行更新
UPDATE car_table
SET 
    brand = SUBSTRING(brand, 1, CHARINDEX(' ', brand) - 1),
    model = SUBSTRING(brand, CHARINDEX(' ', brand) + 1, LEN(brand))
WHERE CHARINDEX(' ', brand) > 0;

注意:执行更新前建议备份数据。


内容的提问来源于stack exchange,提问作者B.12

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.07 15:05:24