[英]splitting an string into a column in python
我有一个快速的问题,我有下面的 df
去向
File_Path
0 /data/application/AANX/aanx-dataeng-slas-sysyphus/scripts/s_shell/call_iws/call_PP_NEXT_RTBA_MAU_IND_INVE_D.sh
1 /data/application/AANX/aanx-dataeng-slas-sysyphus/scripts/s_shell/call_iws/call_PP_NEXT_RTBA_MAU_IND_EMPF_D.sh
2 /data/app_next_best_action/call_nba_as11.sh
3 /data/application/AAIN/aain-srv-motor-extracao-next/iws/call_run_extract_default.sh cdlc_ing
4 sh /data/processos/current/aplicacao/AAVR/ACN10/scr/exec_fim_grupo.sh ACN10_ARQ_1
我想在 File_Path 列中获取树结构的第 4 项。
output 应如下所示:
去向
File_Path Parent_path
0 /data/application/AANX/aanx-dataeng-slas-sysyphus/scripts/s_shell/call_iws/call_PP_NEXT_RTBA_MAU_IND_INVE_D.sh /data/application/AANX/aanx-dataeng-slas-sysyphus/
1 /data/application/AANX/aanx-dataeng-slas-sysyphus/scripts/s_shell/call_iws/call_PP_NEXT_RTBA_MAU_IND_EMPF_D.sh /data/application/AANX/aanx-dataeng-slas-sysyphus/
2 /data/app_next_best_action/call_nba_as11.sh /data/app_next_best_action/call_nba_as11.sh
3 /data/application/AAIN/aain-srv-motor-extracao-next/iws/call_run_extract_default.sh /data/application/AAIN/aain-srv-motor-extracao-next/
4 sh /data/processos/current/aplicacao/AAVR/ACN10/scr/exec_fim_grupo.sh ACN10_ARQ_1 /data/processos/current/aplicacao/
在 index = 2 中,没有第 4 项,因此它获取最后一项,即文件 call_nba_as11.sh
同样在 index=4 中,file_path 值的开头有一个“sh”,我需要转义它
大家可以帮帮我吗?
您可以将正则表达式与str.extract
一起使用:
df['Parent_path'] = df['File_Path'].str.extract(r'^((?:/[^/]+){,4}/?)')
output:
File_Path Parent_path
0 /data/application/AANX/aanx-dataeng-slas-sysyphus/scripts/s_shell/call_iws/call_PP_NEXT_RTBA_MAU_IND_INVE_D.sh /data/application/AANX/aanx-dataeng-slas-sysyphus/
1 /data/application/AANX/aanx-dataeng-slas-sysyphus/scripts/s_shell/call_iws/call_PP_NEXT_RTBA_MAU_IND_EMPF_D.sh /data/application/AANX/aanx-dataeng-slas-sysyphus/
2 /data/app_next_best_action/call_nba_as11.sh /data/app_next_best_action/call_nba_as11.sh
3 /data/application/AAIN/aain-srv-motor-extracao-next/iws/call_run_extract_default.sh cdlc_ing /data/application/AAIN/aain-srv-motor-extracao-next/
选择:
df['Parent_path'] = df['File_Path'].str.extract(r'^[^/]*((?:/[^/]+){,4}/?)')
Output:
File_Path Parent_path
0 /data/application/AANX/aanx-dataeng-slas-sysyphus/scripts/s_shell/call_iws/call_PP_NEXT_RTBA_MAU_IND_INVE_D.sh /data/application/AANX/aanx-dataeng-slas-sysyphus/
1 /data/application/AANX/aanx-dataeng-slas-sysyphus/scripts/s_shell/call_iws/call_PP_NEXT_RTBA_MAU_IND_EMPF_D.sh /data/application/AANX/aanx-dataeng-slas-sysyphus/
2 /data/app_next_best_action/call_nba_as11.sh /data/app_next_best_action/call_nba_as11.sh
3 /data/application/AAIN/aain-srv-motor-extracao-next/iws/call_run_extract_default.sh cdlc_ing /data/application/AAIN/aain-srv-motor-extracao-next/
4 sh /data/processos/current/aplicacao/AAVR/ACN10/scr/exec_fim_grupo.sh ACN10_ARQ_1 /data/processos/current/aplicacao/
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.