使用python替换字符串中的子字符串

时间:2016-05-20 12:16:05

标签: python string excel loops

我有csv个数据

url
vk.com/feed
vk.com/friends
vk.com/kobrinsky
vk.com/exclusive_muzic
vk.com/o_gordievskaya
vk.com/exclusive_muzic
vk.com/o_gordievskaya

我需要替换一些子串。

[u'o_gordievskaya', u'pavel__pechenkin', u'tima555102', u'bl2225554445']

[23183634, 86313977, 27313686, 3935697]

我试试

users = pd.read_excel('users.xlsx')
data = pd.read_csv('get_id.csv', error_bad_lines=False)
scrname = users['scrname']
id_scr = users['id']
urls = data['url']
for url in urls:
    for scr in scrname:
        if scr in url:
            url.replace(scr, id_scr)

我将列scrnameid添加到列表中,我认为它会更容易,但它对我没有帮助

2 个答案:

答案 0 :(得分:0)

您在替换中使用id_scr,但您需要使用相应的元素

index = url.index(scr)    
url.replace(scr, id_scr[index])

或更短:

url.replace(scr, id_scr[url.index(scr)])

答案 1 :(得分:0)

它不起作用,因为for url in urls: url是您数据的副本。

但是既然你使用了pandas,你可以简单地使用replace

sub = {'o_gordievskaya' :23183634, 'pavel__pechenkin' : 86313977, ...}
data.replace(sub)