python实现直接读取excle数据实现的百度地图标注

简介: python实现直接读取excle数据实现的百度地图标注

项目说明

百度地图标注数据量不大,希望直接读取excle生成标注;同时会有修改、编辑的需求。

项目分析

1.项目的没有难点,只有复杂度。如果是将标注信息固定在json或js文件中,即可实现;但是对于非编程人员,进行修改或者编辑的时候,友好性太差。

2.读取exlce的优势在于,非编程人员可以直观的修改和编辑标注信息。完成该操作后,通过python读取excle转化为json或js文件。

3.可以将代码封装成exe应用程序,方便使用;


项目代码

导入模块

import xlrd
import os
import json
from http.server import HTTPServer, SimpleHTTPRequestHandler
import webbrowser


读取excel数据并将其转为js文件

# 读取excel数据并将其转为js文件
filename = r'data/lockdata.xls'
# 判断文件是否存在
file_data = os.path.exists(filename)
if not file_data:
    print("系统默认data.xls表格文件不存在.")
else:
    print("系统获取到文件,处理中...")
    data = xlrd.open_workbook(filename)  # 文件名以及路径,如果路径或者文件名有中文给前面加一个r不转义。
    # 获取你要sheet的名称
    sheet_name = data.sheet_names()
    # 根据sheet索引或者名称获取sheet内容
    sheet = data.sheet_by_index(0)
    # 获取整行和整列的值(列表)
    rows = sheet.row_values(1)  # 获取第2行内容
    # 自定义数组
    tables = []
    data = {}
    for rown in range(sheet.nrows):
        array = {'name': sheet.cell_value(rown, 0), 'lng': sheet.cell_value(rown, 1), 'lat': sheet.cell_value(rown, 2)}
        tables.append(array)
    # print(tables)
    # 删除标题头
    del tables[0]
    data = tables
    # 转为JSON
    res = json.dumps(data, ensure_ascii=False)
    # print(res)
    # 生成对应的JS数据文件
    content = 'var data ={}'.format(res)
    # 写入文件
    with open(r'js/poidata.js', 'w', encoding="utf-8") as f:
        f.write(content)
    print("经纬度数据转换完成..")


创建http server

# 创建http server
class GetHttpServer(SimpleHTTPRequestHandler):
    protocol_version = "HTTP/1.0"
    server_version = "PSHS/0.1"
    sys_version = "Python/3.9.x"
    target = "./"  # 监听目录,配置项
    def do_get(self):
        SimpleHTTPRequestHandler.do_GET(self)
    def do_post(self):
        print("postmsg recv, path error")
        data = self.rfile.read(int(self.headers["content-length"]))
        data = json.loads(data)
        self.send_response(200)
        self.send_header("Content-type", "text/html")
        self.end_headers()
        rspstr = "recv ok, data = "
        rspstr += json.dumps(data, ensure_ascii=False)
        self.wfile.write(rspstr.encode("utf-8"))
def http_server():
    ip = "localhost"  # 监听IP,配置项
    port = 8800  # 监听端口,配置项
    index_url = "http://%s:%d/index.html" % (ip, port)  # 监听主页url,配置项
    server = HTTPServer((ip, port), GetHttpServer)
    try:
        # 弹出窗口
        webbrowser.open(index_url)
        # 输出信息
        print("服务器监听地址: ", index_url)
        server.serve_forever()
    except KeyboardInterrupt:
        server.socket.close()
# 执行服务器脚本
http_server()

源代码:https://download.csdn.net/download/weixin_41290949/29086018

lockdatav Done!

相关文章
|
19小时前
|
XML 前端开发 数据格式
BeautifulSoup 是一个 Python 库,用于从 HTML 和 XML 文件中提取数据
BeautifulSoup 是 Python 的一个库,用于解析 HTML 和 XML 文件,即使在格式不规范的情况下也能有效工作。通过创建 BeautifulSoup 对象并使用方法如 find_all 和 get,可以方便地提取和查找文档中的信息。以下是一段示例代码,展示如何安装库、解析 HTML 数据以及打印段落、链接和特定类名的元素。BeautifulSoup 还支持更复杂的查询和文档修改功能。
5 1
|
2天前
|
存储 JSON 数据挖掘
python序列化和结构化数据详解
python序列化和结构化数据详解
10 0
|
2天前
|
数据采集 数据可视化 数据挖掘
Python 与 PySpark数据分析实战指南:解锁数据洞见
Python 与 PySpark数据分析实战指南:解锁数据洞见
|
2天前
|
数据采集 数据处理 开发者
Python 中的数据处理技巧:高效数据操作的艺术
Python 在数据处理方面表现卓越,为开发者提供了丰富的工具和库以简化数据操作。在本文中,我们将探讨 Python 中数据处理的一些技巧,包括数据清洗、数据转换以及优化数据操作的最佳实践。通过掌握这些技巧,您可以在 Python 中更加高效地处理和分析数据。
|
4天前
|
机器学习/深度学习 自然语言处理 算法
Python遗传算法GA对长短期记忆LSTM深度学习模型超参数调优分析司机数据|附数据代码
Python遗传算法GA对长短期记忆LSTM深度学习模型超参数调优分析司机数据|附数据代码
|
4天前
|
开发者 索引 Python
Python中调整两列数据顺序的多种方式
Python中调整两列数据顺序的多种方式
20 0
|
4天前
|
SQL API 数据库
在Python中获取筛选后的SQL数据行数
在Python中获取筛选后的SQL数据行数
12 1
|
4天前
|
数据可视化 Python
python中Copula在多元联合分布建模可视化2实例合集|附数据代码
python中Copula在多元联合分布建模可视化2实例合集|附数据代码
|
4天前
|
数据处理 Python
Python中每个字段增加多条数据的高效方法
Python中每个字段增加多条数据的高效方法
10 1
|
4天前
|
数据挖掘 测试技术 数据处理
在python读取相邻两行的数据进行运算
在python读取相邻两行的数据进行运算
8 1