【发布时间】:2017-02-04 16:10:15
【问题描述】:
使用更正的代码更新后。我有一个简单的 http POST 请求,它需要一些简短的 XML,但是有数百个单独的请求需要定期发布,所以 for 循环似乎是一个不错的选择。根据下面的评论,我看到我最初有一个坏循环,所以我用一个有效的代码更新了代码。我确信这不是最有效的方法,但它确实有效。
for index, row in df.iterrows():
name = row['name']
value = row['lengthValue']
postalCode = row['postalCode']
address = row['address']
state = row['state']
country = row['country']
xml = """<root>
<name>{0}/name>
<isNew>yes</isNew>
<length option="true" units="feet">
<value>{1}</value>
</length>
<address postalCode="{2}" address1="{3}" state="{4}" country="{5}"/>
</root>""".format(name, value, postalCode, address, state, country)
headers = {'Content-Type': 'application/xml'}
response= requests.post('https://some.url/id/%i/addnew' % uid, data=xml, headers=headers)
请注意,url 中还有一个变量,它是由不同函数定义的 uid 变量中的一个整数,该函数获取这些新值发布到的帐户的特定 ID。
示例数据框是:
df = pd.DataFrame({'name':['A','B','C'],
'lengthValue':[34, 56, 23],
'postalCode':[20001,30001,40001],
'address':['123 Main St', '321 Front Street', '100 First Ave'],
'state':['ME', 'OR', 'FL'],
'country':['US', 'US', 'US']})
【问题讨论】:
-
你有什么问题?你为什么从
for循环中return?为什么要定义headers,并在for之外发帖? -
代码显示不正确,帖子在 for 中,但它不起作用。经检查,枚举函数似乎没有在语句中插入值并发布到 url。
-
请编辑您的帖子以包含一个问题。你为什么从
for循环中return?
标签: python xml pandas iterator python-requests