我有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)
我将列scrname
和id
添加到列表中,我认为它会更容易,但它对我没有帮助
答案 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)