首页 > 解决方案 > 使用python仅解析字符串中的特定字符

问题描述

尝试从列中拆分和解析字符并将解析后的数据提交到不同的列中。

我通过在给定的列数据中解析 _ 来尝试相同的方法,直到字符串中存在的 '_' 的数量固定为 2 之前,它一直运行良好。

输入数据:

        Col1
U_a65839_Jan87Apr88
U_b98652_Feb88Apr88_(2).jpg.pdf
V_C56478_mar89Apr89
Q_d15634_Apr90Apr91
Q_d15634_Apr90Apr91_(3).jpeg.pdf
S_e15336_may91Apr93
NaN

预期输出:

  col2
Jan87Apr88
Feb88Apr88
mar89Apr89
Apr90Apr91
Apr90Apr91
may91Apr93

我一直在尝试的代码:

df = pd.read_excel(open(r'Dats.xlsx', 'rb'), sheet_name='Sheet1')

df['Col2'] = df.Col1.str.replace(
    '.*_', '', regex=True
)
print(df['Col2'])

标签: pythonpandas

解决方案


我想你想要这个:

col2 = df.Col1.str.split("_", expand=True)[2]

输出:

0    Jan87Apr88
1    Feb88Apr88
2    mar89Apr89
3    Apr90Apr91
4    Apr90Apr91
5    may91Apr93
6           NaN

dropna如果你不想要最后一行,你可以)


推荐阅读