文章目录

  • 一、去[百度地图开发平台](https://lbsyun.baidu.com/apiconsole/key/create#/home)申请API的AK
  • 二、代码
  • 三、效果
  • 四、生成可执行的exe文件
  • 参考文章

一、去百度地图开发平台申请API的AK

注意:API调用次数限制默认为2000次/天

注册账号成功后选择控制台

应用管理→我的应用→创建应用

应用名称随便填


创建成功

二、代码

#!/usr/bin/env python
# -*- coding:utf-8 -*-import requests,json,os,time,xlwt,sysflush_time = 60         # 刷新间隔,单位秒
file_name = "两地之间的开车时间.xls"
# 预置地点列表
address_list = ["长沙市五一广场","长沙市望城区月亮岛","长沙市保利麓谷林语",]
workdir = os.path.dirname(os.path.realpath(sys.argv[0]))
file_path = os.path.join(workdir,file_name)
AK = "GS6nkcuish66FLR"     # 百度地图API认证码# 获取地址的经纬度
def getPosition(address):url = r"http://api.map.baidu.com/place/v2/search?query={}&region=全国&output=json&ak={}".format(address,AK)res = requests.get(url)json_data = json.loads(res.text)if json_data["status"] == 0:lat = json_data["results"][0]["location"]["lat"]  # 纬度lng = json_data["results"][0]["location"]["lng"]  # 经度else:print(json_data["message"])return "0,0", json_data["status"]return str(lat) + "," + str(lng), json_data["status"]# 获取两地开车的时间
def getTime(start, end):url = "https://api.map.baidu.com/directionlite/v1/driving?origin={}&destination={}&ak={}".format(start,end,AK)res = requests.get(url)json_data = json.loads(res.text)if json_data["status"] == 0:# return json_data["result"]["routes"][0]["distance"]   # 获取距离return int(json_data['result']['routes'][0]['duration'])    # 获取时间,单位selse:print(json_data["message"])return -1def calcDistance(startName, endName):start, status1 = getPosition(startName)end, status2 = getPosition(endName)if status1 == 0 and status2 == 0:return round(getTime(start, end)/60,1)   # 将时间转换为分钟else:return -1# 设置标题样式
def set_title_style(blod=False, underline=False):style = xlwt.XFStyle()  # 初始化样式font = xlwt.Font()     # 为样式创建字体font.name = "Calibri"  # 字体类型font.height = 20 * 11  # 20为衡量单位,11为字号font.bold = blod       # 是否加粗font.underline = underline  # 是否添加下划线style.font = fontreturn style# 生成Excel文件
def createExcel(data,file_path):# 创建workbook和sheet对象workboot = xlwt.Workbook(encoding='utf-8')worksheet = workboot.add_sheet('计算两点间开车时间')  # 设置工作表的名字for i in range(len(address_list)+1):worksheet.col(i).width = 256 * 30  # 设置每列宽, 256为衡量单位,30表示30个字符宽度# 写入Excel标题row0 = ["两点间开车时间(单位分钟)"]+address_listfor i in range(len(row0)):worksheet.write(0, i, row0[i], set_title_style(True))for i,line in enumerate(data):for j,drive_time in enumerate(line):worksheet.write(i+1, j, str(drive_time), set_title_style())workboot.save(file_path)print("[INFO] 成功创建%s" % file_path)# 生成开车时间矩阵信息
def generateTimeMatrix(flush_time,file_path):while True:matrix_list = []  # 以矩阵的方式来存放两地之间的开车时间alist = []  # 存放横坐标的值print("[INFO] 开始计算两地之间的开车时间,每隔%s秒刷新一次..." % flush_time)for start in address_list:      # 起始位置作为纵坐标alist.append(start)for end in address_list:    # 终点位置作为横坐标dt = calcDistance(start, end)alist.append(dt)matrix_list.append(alist)alist = []createExcel(matrix_list,file_path)time.sleep(flush_time)if __name__ == "__main__":try:generateTimeMatrix(flush_time,file_path)except Exception as e:print('ERROR:%s' % e)

三、效果


四、生成可执行的exe文件

pip install pyinstaller -i https://pypi.tuna.tsinghua.edu.cn/simple/ #下载插件
pyinstaller -F 两地之间的开车时间.py     #成功后会在当前路径的dist目录下生成exe文件

参考文章

Python利用百度地图获取两地距离 最详细过程和源代码
python文件打包成可执行文件exe的两种方法

python计算两地之间的开车时间,保存到Excel中相关推荐

  1. Python实现分析pdf或者Word形式简历,并且保存到Excel中

    Python实现分析当前文件夹里面所有的pdf或者Word形式简历,并且保存到Excel中 # -*- coding:utf-8 -*-#作者:公众号:湾区人工智能 #功能:实现分析pdf或者Word ...

  2. python 发票信息提取_Python提取发票内容保存到Excel.md

    Python提取PDF发票内容保存到Excel --- 摘要:这篇文章介绍如何把发票内容提取出来保存到Excel中.文章分为两个部分,第一部分程序用法,第二部分介绍代码. --- 作者:yooongc ...

  3. python提取pdf表格数据并保存到excel中

    pdfplumber操作pdf文件 python开源库pdfplumber,可以较为方便地获取pdf的各种信息,包含pdf的基本信息(作者.创建时间.修改时间-)及表格.文本.图片等信息,基本可以满足 ...

  4. python提取txt数据到excel_python 读取txt中每行数据,并且保存到excel中的实例

    使用xlwt读取txt文件内容,并且写入到excel中,代码如下,已经加了注释. 代码简单,具体代码如下: # coding=utf-8 ''' main function:主要实现把txt中的每行数 ...

  5. Python爬取中国大学排名,并且保存到excel中

    前言 以下文章来源于数据分析和Python ,作者冈坂日川 今天发的是python爬虫爬取中国大学排名,并且保存到excel中,当然这个代码很简单,我用了半小时就写完了,我的整体框架非常清晰,可以直接 ...

  6. python逐行读取txt写入excel_python 读取txt中每行数据,并且保存到excel中的实例

    使用xlwt读取txt文件内容,并且写入到excel中,代码如下,已经加了注释. 代码简单,具体代码如下: # coding=utf-8 ''' main function:主要实现把txt中的每行数 ...

  7. python生成大量随机信息,并保存到Excel文件中

    题目要求 生成大量随机信息1000条,(每条信息包括:姓名.性别.年龄.籍贯.电话号码.地址.电子邮件.数学成绩.英语成绩)统计分析数学成绩90分以上的人的性别.年龄.籍贯.尝试将上述随机生成信息写入 ...

  8. 【Arduino串口数据保存到excel中常用三种方法】

    [Arduino串口数据保存到excel中常用三种方法] 1. 前言 2. 利用excel自带Data Streamer读取 2.1 启用 Data Streamer 加载项 2.2 刷写代码并将微控 ...

  9. 怎么把matlab中的图导出,matlab的数据能保存到excel表格-如何将matlab 中输出的图形保存到Excel中去,详细点...

    怎样将MATLAB中的数据输出到excel中 数据保存到excel文件 xlswrite(xlsfile, data, sheet, range); % sheet 和 range可以不指定 如: x ...

最新文章

  1. 我是怎么读源码的,授之以渔
  2. python语音识别播放音乐_使用python语音识别播放和流式转录音频
  3. WPF 动态更换图片路径
  4. 【看番杂感】Clannad系列观后感(剧透慎入)
  5. 华为鸿蒙系统是指芯片吗_华为首部鸿蒙手机P50——不再使用麒麟芯片,拍照系统再升级...
  6. 计算机和单片机概述,微机与单片机概述课件.ppt
  7. java实现豆瓣回帖机器人
  8. Spring Boot 前端传json数组,后台接收处理
  9. SubSonic 零代码的数据访问
  10. [.NET开发] C#面向服务WebService从入门到精通
  11. 伪元素::selection -- CSS ::selection 伪元素,定义用户鼠标已选择内容的样式
  12. 拓端tecdat:R语言用加性多元线性回归、随机森林、弹性网络模型预测鲍鱼年龄和可视化
  13. python爬虫安装了pycharm还要安装什么_Pycharm安装与使用
  14. php生成图片不显示,php绘图不显示图片怎么办
  15. Labelme标注软件下载安装教程
  16. 华为手机上的网上邻居怎么用_华为手机如何无线连接电脑
  17. Python量化分析财务指标,教你用净资产收益率选股!
  18. 为什么kafka客户端需要配置 /etc/hosts文件
  19. 结合实战,浅析GB/T28181(七)—— 球机云台控制
  20. 项目管理--关键链方法

热门文章

  1. 泰山OFFICE技术讲座:由行的布局高度,谈绘制高度的高度溢出、高度缩水(全网首发)
  2. 模拟黑洞图像_第一张黑洞图片如何获得?8个望远镜和数百万次模拟
  3. 给女友写个代码c语言,写给女友的一段c编程!不求技术,只求一点小惊喜!
  4. 1171C语言实验——保留整数
  5. 【CF183D】 T-shirt
  6. 目标检测模型设计准则 | YOLOv7参考的ELAN模型解读,YOLO系列模型思想的设计源头
  7. 边界扫描的测试原理及九大指令(zz)
  8. 分布式信息处理利用计算机的,分布式的信息处理需要利用计算机的什么
  9. U盘/移动硬盘拔出提示被占用情况的处理办法
  10. 【NOI2008】BZOJ1061志愿者招募