將 python 與 if contains(r'/' and r'\') 和 rsplit(str,1) 一起使用,我可以將值分開。但是使用 Pandas 是行不通的。我怎樣才能使用熊貓得到這個結果?
"PATH_IN","PATH_OUT"
"C:\USER\ARON\TESTE.TXT","C:\OUT\TESTE.TXT"
"SOUP.TXT","SOUP.TXT"
"/OPT/IN/TESTE.TXT","TESTE.TXT"
結果
"PATH_IN","NAME_IN","PATH_OUT","NAME_OUT"
"C:\USER\ARON","TESTE.TXT","C:\OUT","TESTE.TXT"
"","SOUP.TXT","","SOUP.TXT"
"/OPT/IN/","TESTE.TXT","","TESTE.TXT"
uj5u.com熱心網友回復:
一種方法是避免regex 和 use os.path.split,因為它可以處理檔案名的多個分隔符。
df[["PATH_IN", "NAME_IN"]] = df["PATH_IN"].apply(lambda x: pd.Series(os.path.split(x)))
df[["PATH_OUT", "NAME_OUT"]] = df["PATH_OUT"].apply(lambda x: pd.Series(os.path.split(x)))
輸出:
PATH_IN PATH_OUT NAME_IN NAME_OUT
0 C:\USER\ARON C:\OUT TESTE.TXT TESTE.TXT
1 SOUP.TXT SOUP.TXT
2 /OPT/IN TESTE.TXT TESTE.TXT
uj5u.com熱心網友回復:
嘗試這個:
df['NAME_IN'] = df['PATH_IN'].str.split(r'[/\\]').str[-1]
df['NAME_OUT'] = df['PATH_OUT'].str.split(r'[/\\]').str[-1]
輸出:
>>> df
PATH_IN PATH_OUT NAME_IN NAME_OUT
0 C:\USER\ARON\TESTE.TXT C:\OUT\TESTE.TXT TESTE.TXT TESTE.TXT
1 SOUP.TXT SOUP.TXT SOUP.TXT SOUP.TXT
2 /OPT/IN/TESTE.TXT TESTE.TXT TESTE.TXT TESTE.TXT
轉載請註明出處,本文鏈接:https://www.uj5u.com/gongcheng/374140.html
上一篇:為什么我在我的代碼中的執行緒“main”java.lang.StringIndexOutOfBoundsException中收到例外?
