如何用Python调用高德API批量转换地址为经纬度并导入数据库?
- 内容介绍
- 文章标签
- 相关推荐
本文共计435个文字,预计阅读时间需要2分钟。
本段代码首先将需要转换经纬度的地址爬取并保存到地址.csv文件中,文件截图示例如下:
代码示例:pythonimport csvimport requests
爬取地址并保存到CSV文件def crawl_addresses(): addresses=[北京市东城区王府井大街1号, 上海市黄浦区南京东路1号] with open(地址.csv, mode=w, newline='', encoding='utf-8') as file: writer=csv.writer(file) writer.writerow([地址]) for address in addresses: writer.writerow([address])
主函数def main(): crawl_addresses()
if __name__==__main__: main()
本段代码是先将需要转换经纬度的地址爬取在 ‘地址.csv' 文件里,文件截图示例:
代码展示
# coding=utf-8 # SPL # 时间:2020/12/20 21:15 import csv import requests import json import pandas as pd num=0 y=[] with open("地址.csv", 'r') as f: #写入将要转换的地址的文件路径,此处为默认文件路径(要先将文件提前导入)(注意是csv格式文件) r = csv.reader(f, delimiter=',') for row in r: print(row[0]) #记得在key=后面填入申请百度地图开发平台的key url = "restapi.amap.com/v3/geocode/geo?key=**********&address=" + row[0] dat = { 'count': "1", } r = requests.post(url, data=json.dumps(dat)) s = r.json() b = s['geocodes'] for j in range(0, 10000): try: neirong1 = b[j] except: continue try: b = neirong1['location'] except: continue try: lon_lat= b.split(',') lon=float(lon_lat[0]) lat = float(lon_lat[1]) print(lon) print(lat) except: continue num += 1 print("第" + str(num) + "条地址转换成功") y.append([row[0], lon, lat]) result = pd.DataFrame(y) result.columns = ['地址', '经度', '纬度'] result.to_csv('地址转经纬度.csv', encoding='utf-8-sig', index=False)
运行结果
转换成功后生成的表格截图 _
到此这篇关于Python调用高德API实现批量地址转经纬度并写入表格的功能的文章就介绍到这了,更多相关Python高德API实现批量地址转经纬度内容请搜索易盾网络以前的文章或继续浏览下面的相关文章希望大家以后多多支持易盾网络!
本文共计435个文字,预计阅读时间需要2分钟。
本段代码首先将需要转换经纬度的地址爬取并保存到地址.csv文件中,文件截图示例如下:
代码示例:pythonimport csvimport requests
爬取地址并保存到CSV文件def crawl_addresses(): addresses=[北京市东城区王府井大街1号, 上海市黄浦区南京东路1号] with open(地址.csv, mode=w, newline='', encoding='utf-8') as file: writer=csv.writer(file) writer.writerow([地址]) for address in addresses: writer.writerow([address])
主函数def main(): crawl_addresses()
if __name__==__main__: main()
本段代码是先将需要转换经纬度的地址爬取在 ‘地址.csv' 文件里,文件截图示例:
代码展示
# coding=utf-8 # SPL # 时间:2020/12/20 21:15 import csv import requests import json import pandas as pd num=0 y=[] with open("地址.csv", 'r') as f: #写入将要转换的地址的文件路径,此处为默认文件路径(要先将文件提前导入)(注意是csv格式文件) r = csv.reader(f, delimiter=',') for row in r: print(row[0]) #记得在key=后面填入申请百度地图开发平台的key url = "restapi.amap.com/v3/geocode/geo?key=**********&address=" + row[0] dat = { 'count': "1", } r = requests.post(url, data=json.dumps(dat)) s = r.json() b = s['geocodes'] for j in range(0, 10000): try: neirong1 = b[j] except: continue try: b = neirong1['location'] except: continue try: lon_lat= b.split(',') lon=float(lon_lat[0]) lat = float(lon_lat[1]) print(lon) print(lat) except: continue num += 1 print("第" + str(num) + "条地址转换成功") y.append([row[0], lon, lat]) result = pd.DataFrame(y) result.columns = ['地址', '经度', '纬度'] result.to_csv('地址转经纬度.csv', encoding='utf-8-sig', index=False)
运行结果
转换成功后生成的表格截图 _
到此这篇关于Python调用高德API实现批量地址转经纬度并写入表格的功能的文章就介绍到这了,更多相关Python高德API实现批量地址转经纬度内容请搜索易盾网络以前的文章或继续浏览下面的相关文章希望大家以后多多支持易盾网络!

