2016-08-11 7 views
0

я получил CSV файл с номерами, и я хочу, чтобы вставить эти цифры в определенное место в качестве URL: jus после «„значения“:» Вот мой код:вставить переменную в URL

with open('update_cases_id.csv') as p: 
    for lines in p: 
     uuid = lines.rstrip() 

     url_POST = "www.example.com/" 

     values = {} 
     values['return_type'] = 'retrieval' 
     values['format'] = 'TSV' 
     values['size'] = '70' 
     values['filters'] = '{"op":"and","content":[{"op":"in","content":{"field":"cases.case_id","value": .format(uuid)}}]}' 

     data = urllib.urlencode(values) 

     url_final = url_POST + '?' + data 

     req2 = urllib2.Request(url_final) 
     req2.add_header('cookie', cookie) 
     handle = urllib2.urlopen(req2) 

(отредактировано: примера ввод: 123456-123456-987654 примера вывод: он с текстовыми данными)

+1

Измените свой вопрос, чтобы включить пример ввода и ожидаемый результат. –

ответ

0

Вы можете сделать это с помощью строки форматирования, это должен работать для вас:

# ...snip 
values['filters'] = '{"op":"and","content":[{"op":"in","content":{"field":"cases.case_id","value":%s}]}' % uuid 
# snip... 

%s будет заменен UUID оператором% замены:

>>> values = {} 
>>> uuid = 1234 
>>> values['filters'] = '{"op":"and","content":[{"op":"in","content":{"field":"cases.case_id","value":%s}]}' % uuid 
>>> values 
{'filters': '{"op":"and","content":[{"op":"in","content":{"field":"cases.case_id","value":1234}]}'} 
+0

Вы уверены, что это может сработать? –

+0

Сделал ошибку, это форматирование строки не работает из-за других фигурных скобок в строке. Я обновлю ответ. – Dartmouth

+0

Спасибо Это работает: значения ['filters'] = '{"op": "and", "content": [{"op": "in", "content": {"field": " case.case_case "," value ": ["% s "]}}]} '% uuid –

0

Попробуйте использовать Template.

from string import Template 
params = Template('{"op":"and","content":[{"op":"in","content":{"field":"cases.case_id","value": ${your_value}}}]}') 
params = params.safe_substitute(your_value=123) 
# params is '{"op":"and","content":[{"op":"in","content":{"field":"cases.case_id","value":123}]}' 
Смежные вопросы