Кодирование URL со многими символами - PullRequest
0 голосов
/ 02 октября 2018

Я хочу закодировать имя, чтобы передать его в URL.Моя серия имен находится в фрейме данных, я хочу извлечь эту серию из фрейма данных, затем закодировать, а затем снова поместить его в фрейм данных, все символы, которые я хочу изменить:

':' : '%%3A'
'/' : '%%2F'
'(' : '%%28'
')' : '%%29'
';' : '%%3B'
'!' : '%%21'
'@' : '%%40'
'+' : '%%2B'
'$' : '%%24'
',' : '%%2C'
'*' : '%%2A'
'?' : '%%3F'
'#' : '%%23'
''  : '%%5B'
'%%': '%%25'
':' : '%%3A'
'/' : '%%2F'
' ' : '%%20')

, выглядит фрейм данныхкак это (есть больше строк, но я просто пример)

 df
 id      name
 1    GH User
 2       Babo
 3      Kante

Я пытаюсь

def replace_all(text, dic):
   for i, j in dic.items():
      text = text.replace(i, j)
   return text


  reps = {' ':'%%20', ')':'%%29', '(':'%%28' , '/' : '%%2F' , ':' : '%%3A' , 
  ';': '%%3B' , '!' : '%%21' , '@' : '%%40' , '+' : '%%2B' , '$' : '%%24' , 
  ',' : '%%2C' , '*' : '%%2A' , '?' : '%%3F' , '#' : '%%23' , '' : '%%25' , 
  '%%' : '%%25' }

let = replace_all(df['name'], reps)
print(let)

Но не работает

...