利用Python的csv库来帮助读写CSV文件。另外,最好使用格式字符串来帮助将变量插入URL:import csv
import urllib
import urllib.request
import json
googleGeocodeUrl = 'https://maps.googleapis.com/maps/api/place/textsearch/json?query={}&location={},{}&radius=5000&key={}'
keyword = "hospital"
key = '123'
with open('input.csv', newline='') as f_input, open('hospital.csv', 'w', newline='') as f_output:
csv_input = csv.reader(f_input)
csv_output = csv.writer(f_output)
csv_output.writerow(['Search place', 'Name', 'Lat', 'Long'])
for search_place, lat, long in csv_input:
url = googleGeocodeUrl.format(urllib.parse.quote(search_place), lat, long, key)
json_response = urllib.request.urlopen(url)
search = json_response.read().decode('utf-8')
searchjson = json.loads(search)
for place in searchjson['results']:
row = [place['name'], place['geometry']['location']['lng'], place['geometry']['location']['lat']]
csv_output.writerow(row)
格式字符串使用非常强大的迷你语言工作,但最简单的是,您只需添加{}作为要替换内容的占位符。对于每个使用的{},format在调用它时用匹配的参数替换它,例如
^{pr2}$