在列中拆分URL并从该URl获取值

时间:2018-10-28 12:34:07

标签: python pandas dataframe

您好,我在数据框中有一列 名称提交包含-mhttps://ckd.pdc.com/pdc/73ba5189-94fd-44aa-88d3-6b36aaa69b02/DDA1610095.zip

我想在一栏中说Zest,并且我想在那一栏中输入值DDA1610095。

并在新列中输入,并希望该列中的.zip如何使用熊猫来做到这一点。

2 个答案:

答案 0 :(得分:1)

您可以使用str.split从网址中提取邮政编码

df 
                                                                           url
0  mhttps://ckd.pdc.com/pdc/73ba5189-94fd-44aa-88d3-6b36aaa69b02/DDA1610095.zip

df['zip'] = df.url.str.split('/',expand=True).T[0] \
        [df.url.str.split('/',expand=True).T.shape[0]-1]

df.T
Out[46]: 
                                                                                0
url  mhttps://ckd.pdc.com/pdc/73ba5189-94fd-44aa-88d3-6b36aaa69b02/DDA1610095.zip
zip                                                                DDA1610095.zip

答案 1 :(得分:0)

尝试使用str.split并添加另一个str,以便您可以索引每一行。

data = [{'ID' : '1',
    'URL':  'https://ckd.pdc.com/pdc/73ba5189-94fd-44aa-88d3-6b36aaa69b02/DDA1610095.zip'}]
df = pd.DataFrame(data)



     print(df)
            ID  URL
    0   1   https://ckd.pdc.com/pdc/73ba5189-94fd-44aa-88d...

    #Get the file name and replace zip (probably a more elegant way to do this) 
    df['Zest'] = df.URL.str.split('/').str[-1].str.replace('.zip','')
    #assign the type into the next column. 
    df['Type'] = df.URL.str.split('.').str[-1]
    print(df)

    ID  URL                                                 Zest       Type
0   1   https://ckd.pdc.com/pdc/73ba5189-94fd-44aa-88d...   DDA1610095 zip