3 回答
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
TA贡献1786条经验 获得超11个赞
这是一种使用 VBA 的方法:
前:
编码:
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
之后:
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'))]"))
添加回答
举报