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

如何删除表格特定列右侧字符?含location列实操示例

问题1:删除表格特定列右侧的前若干字符

以下是不同工具下的实用实现方式:

  • Excel/Google Sheets:用LEFT函数结合LEN计算字符串长度。假设目标列为A列,要删除右侧前n个字符,公式为:
    =LEFT(A1, LEN(A1)-n)
    
    将n替换为实际要删除的字符数,下拉填充即可批量处理。
  • Python Pandas:通过字符串切片直接截取。假设数据框为df,目标列名为target_col:
    df['target_col'] = df['target_col'].str[:-n]
    
    :-n表示从字符串开头截取到倒数第n个字符之前的部分。
问题2:删除location列最右侧“-”之后的所有内容

针对你提供的原始数据:

Amsterdam - park - station 7
Rotterdam - van Nellefabriek - straatweg 7
Utrecht - Amsterdamsestraatweg 10

核心是定位每行最后一个“-”的位置,截取其左侧内容并清理多余空格,具体实现如下:

Excel/Google Sheets 方法

通过SUBSTITUTE标记最后一个“-”,再用LEFT截取,配合TRIM去除末尾空格:

=TRIM(LEFT(A1, SEARCH("~", SUBSTITUTE(A1, "-", "~", LEN(A1)-LEN(SUBSTITUTE(A1, "-", ""))))-1))

公式逻辑:

  1. LEN(A1)-LEN(SUBSTITUTE(A1, "-", ""))统计该行中“-”的总数
  2. SUBSTITUTE(A1, "-", "~", 总数)将最后一个“-”替换为“~”(避免符号冲突)
  3. SEARCH("~", ...)定位替换后的“~”的位置
  4. LEFT(A1, 位置-1)截取到最后一个“-”之前的内容,TRIM清理末尾多余空格

Python Pandas 方法

使用str.rsplit从右侧分割一次,取第一部分后清理空格:

import pandas as pd

# 构造示例数据
data = {
    'location': [
        'Amsterdam - park - station 7',
        'Rotterdam - van Nellefabriek - straatweg 7',
        'Utrecht - Amsterdamsestraatweg 10'
    ]
}
df = pd.DataFrame(data)

# 处理列
df['location'] = df['location'].str.rsplit('-', 1).str[0].str.strip()

# 输出结果
print(df['location'].tolist())

执行后得到与期望一致的结果:

['Amsterdam - park', 'Rotterdam - van Nellefabriek', 'Utrecht']

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.22 03:54:27