我在CSV文件中有两列,我想用Python做一个循环,所以我可以将每个元素从一个列表匹配到另一个列表。我正在通过GoogleMaps API创建一个包含多个行程的文件。所以我实际上想要做的是将两个列表中每个元素的距离从源列表映射到目标列表。如何遍历不同长度的两列中的每个元素
这件事情是这样的:
origins = ['a', 'b', 'c', 'd']
destinations = ['E', 'F', 'G']
而且我想这样的输出:
Distances_from = ['aE', 'aF', 'aG', 'bE', 'bF', 'bG', 'cE', 'cF', 'cG', 'dE', 'dF', 'dG']
我的代码是:
destination_index=0 #city code
destination_coordinates=10
origin_index=12
origin_coordinates=13
reader=csv.reader(municipalities)
writer=csv.writer(output)
try:
for row in list(reader)[1:]:
destination_c=row[destination_coordinates]
origin_c=row[origin_coordinates]
destination_name=row[destination_index]
origin_name=row[origin_index]
for destination_coordinates, origin_coordinates in zip(destination_c, origin_c):
distances = gmaps.distance_matrix(origin_c, destination_c)
if distances['rows'][0]['elements'][0]['status'] == "OK":
writer.writerow((destination_name,origin_name,
distances['rows'][0]['elements'][0]['distance']['value'],
distances['rows'][0]['elements'][0]['duration']['value']))
else:
writer.writerow((destination_name,origin_name,
".",
"."))
finally:
municipalities.close()
output.close()
究竟是'A,B,...,E,F,G'?字符串?如果是这样,请使用一些引号。你试过什么了? –
通过点击编辑链接,添加您的代码并解释所有这些内容。 –
谢谢,我上传了我的代码,你能试试看我能做些什么来修复它吗? –