为了账号安全,请及时绑定邮箱和手机立即绑定

从倒数的 Excel 单元格中删除特定数字字符

从倒数的 Excel 单元格中删除特定数字字符

至尊宝的传说 2022-12-06 15:30:04
我有一个 Excel 工作表,其中我的 B 列包含以下单词和字母的组合(名字 Lastname 3to4Numbers PM/AM Month date Year)例子:凯文·哈特 2020 年 5 月 16 日 206PM迈克尔·B·乔丹 0339AM 2020 年 5 月 6 日我想进入 B 列的每个单元格并删除 3 到 4 数字和 pm 或 Am。我考虑倒数并删除位置 13 到 20,因为名称会有所不同。任何其他想法以及如何去做?
查看完整描述

3 回答

?
MM们

TA贡献1886条经验 获得超2个赞

我知道你现在可能已经在 pandas 中拥有它了。如果你不这样做,你会做这样的事情:


import pandas as pd

df = pd.read_csv('YOURFILE.CSV')

然后在#Solution下面的代码中运行下面的行,更改col为您的列的名称,以及col2您希望调用新列的任何名称。您可以使用 再次保存您的文件df.to_csv('outputfile.csv')。祝你好运!


这是使用正则表达式的解决方案。


# Sample data

import pandas as pd


df = pd.DataFrame({

    'col': ['Kevin Hart 206PM May 16 2020',

            'Michael B Jordan 0339AM May 06 2020',

           ]

})


# Solution

df['col2'] = df['col'].str.replace('\s\d{3,4}[AP]M', '')


print(df)


                                   col                          col2

0         Kevin Hart 206PM May 16 2020        Kevin Hart May 16 2020

1  Michael B Jordan 0339AM May 06 2020  Michael B Jordan May 06 2020


查看完整回答
反对 回复 2022-12-06
?
Qyouu

TA贡献1786条经验 获得超11个赞

这是一种使用 VBA 的方法:

前:

//img1.sycdn.imooc.com//638eef9e0001843b02460044.jpg

编码:


Sub TimeKiller()

    Dim cell As Range, arr, s As String, a As String

    Dim i As Long


    For Each cell In Intersect(Range("B:B"), ActiveSheet.UsedRange)

        s = cell.Value

        If s <> "" Then

            arr = Split(s, " ")

               For i = LBound(arr) To UBound(arr)

                    a = arr(i)

                    If a Like "###AM" Or a Like "###PM" Or a Like "####AM" Or a Like "####PH" Then

                         arr(i) = ""

                     End If

                Next i

        End If

        cell.Value = Trim(Join(arr, " "))

    Next cell

End Sub

之后:

//img1.sycdn.imooc.com//638eefa70001fab702730089.jpg

查看完整回答
反对 回复 2022-12-06
?
凤凰求蛊

TA贡献1825条经验 获得超4个赞

在 windows Excel 2016+ 中,有了TEXTJOIN函数,你可以使用这个公式:

=TEXTJOIN(" ",TRUE,FILTERXML("<t><s>"& SUBSTITUTE(TRIM(A1)," ","</s><s>") & "</s></t>","//s[not(contains(.,'AM')) and not(contains(.,'PM'))]"))

//img1.sycdn.imooc.com//638eefbf0001676804420053.jpg


查看完整回答
反对 回复 2022-12-06
  • 3 回答
  • 0 关注
  • 130 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信