用python在一行中使用多个参数进行循环

时间:2019-12-05 10:13:21

标签: python for-loop multiple-arguments

我正在使用google_streetview.api,但遇到无法解决的问题。文档告诉我,我可以通过用;分隔一行来运行多个参数。但是我不知道如何在一行中循环使用值。我有一个x和y坐标循环的数据框。标准版本如下:

params = [{
'size': '600x300', # max 640x640 pixels
'location': '46.414382,10.013988',
'heading': '151.78',
'pitch': '-0.76',
'key': 'your_dev_key'
}]

我需要一行:

'location': '1234,1234',

要这样走:

for coor, row in df.iterrows():
    x=row.POINT_X
    y=row.POINT_Y
    'location': 'POINT_Y1,POINT_X1; POINT_Y2, POINT_X2; and so on',

我首先对完整参数进行循环,但是当我跳过与;的分隔时我最终得到了很多单个的json文件,我需要能够告诉它添加;数据框中的每个x和y。

2 个答案:

答案 0 :(得分:0)

';'.join([r.POINT_X + ',' + r.POINT_Y for _, r in df.iterrows()])

答案 1 :(得分:0)

自然地,您需要指定将x和y点添加到location字典的params索引中。

您可能想从坐标中构建一个列表并将其加入字符串中:

#creates a list of string with the (x, y) coordinates
coords = [','.join([row.POINT_X, row.POINT_Y]) for row in df.iterrows()]
#creates a string out of the coordinates separated by ";"
#and sets it as the value for the location index in params.
params[0]['location'] = ';'.join(coords)

请注意,我假设参数已经存在。

相关问题