根据省市区名字发送请求

思路

        选择对应的区域其实是按照表格中的省市区的名字进行匹配

        读取文件后对应的字典为:

{'台湾': {},'新疆': {},'港澳': {'中国澳门': ['凼仔岛', nan]},'西藏': {'昌都地区': ['卡若区'], '那曲地区': [nan]}
}

        字典解释例如

                市区为空,就是选择省下面的全部市和区

                区为空,就是选择市下面的全部的区

                全都不为空,就是选择该省该市的区

读取文件

import numpy as np
import pandas as pdareas_df = pd.read_excel(excel_file, sheet_name='禁售区域')read_areas_dict = areas_df.groupby('省').apply(lambda x: x.groupby('市')['区'].apply(list).to_dict()).to_dict()"""
读取文件后【read_areas_dict 】的值为一个字典:
{'台湾': {}, '新疆': {}, '港澳': {'中国澳门': ['凼仔岛', nan]}, '西藏': {'昌都地区': ['卡若区'], '那曲地区': [nan]}}
"""

匹配区域

        areas_data 就是读取文件后的字典

        all_areas_dict是博主上一篇博文所获取的区域id_dict,这里只对已获取的数据进行解析,由由需要的话查看区域id是如何获取的:获取全部的地区并生成表格_gongzairen的博客-CSDN博客

        customParam 是我要发送请求所需要的参数,每个网站不一样,自行设置就好

import mathdata_dict = {'data': "",'error_info': '无','warning_info': '无',
}# 三层嵌套处理省市区对应的id
areas_data = {'读取文件后的字典'}
all_areas_dict = {'全部的区域id字典'}
customParam = ""
for province_name in areas_data:# 处理省idif province_name in areas_id_dict:province_id = areas_id_dict[province_name]['id']city_name_list = list(areas_data[province_name].keys())# 省全选的情况if not city_name_list:customParam += f"areaLevel:{areas_id_dict[province_name]['level']}|areaId:{province_id}|parentId:0|parentOneId:0,"continue# 处理市idfor city_name in city_name_list:if city_name == 'id' or city_name == 'level' or city_name == 'parentId':continueif city_name in list(areas_data[province_name].keys()):city_id = areas_id_dict[province_name][city_name]['id']else:data_dict['warning_info'] += "\n" + f'{city_name}:找不到对应的市,请确保城市名字正确,否则请联系开发人员更新地区id'continuedistrict_list = areas_data[province_name][city_name]# 市全选的情况is_nan = any(math.isnan(x) for x in district_list if isinstance(x, float))if is_nan:customParam += f"areaLevel:{areas_id_dict[province_name]['level']}|areaId:{city_id}|parentId:{province_id}|parentOneId:0,"# print(f'customParam:{customParam}')continuefor district_name in district_list:# print(district_name)if district_name == 'id' or district_name == 'level' or district_name == 'parentId':continueif district_name in list(areas_id_dict[province_name][city_name].keys()):# print(district_name)district_id = areas_id_dict[province_name][city_name][district_name]['id']customParam += f"areaLevel:{areas_id_dict[province_name]['level']}|areaId:{district_id}|parentId:{city_id}|parentOneId:,"else:data_dict['warning_info'] += "\n" + f'{district_name}:找不到对应的区,请确保区名字正确,否则请联系开发人员更新地区id'continueelse:data_dict['warning_info'] += "\n" + f'{province_name}:找不到对应的省,请确保省份名字正确,否则请联系开发人员更新地区id'continue

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/21359.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

OA会议管理系统之我的审批(审批签字可生成图片)

目录 一、前言 1.导读 二、我的审批功能实现 1.功能介绍及分析 2.功能实现 2.1.Dao层 2.2.JSP层 2.3.Web层 3.案例演示 一、前言 1.导读 OA会议管理系统之我的会议(会议排座&可拖拽座位&附源码)http://t.csdn.cn/iVLAD 书接上…

Linux文件管理知识:查找文件

前几篇文章一一介绍了LINUX进程管理控制命令及网络层面的知识体系,综所周知,一个linux系统是由很多文件组成的,那么既然有那么多文件,那我们该如何管理这些文件呢? Linux中的所有数据都是以文件形式存在的&#xff0c…

飞凌嵌入式「国产」平台大盘点(一)瑞芯微系列

“国产化”一词正在被越来越多的提及,有着越来越高的关注度,飞凌嵌入式也已与多家国内芯片原厂联合推出了数款国产化智能平台。为了帮助大家快速认识飞凌嵌入式推出的各系列国产核心板产品,小编将以芯片品牌进行分类带大家一起盘点。 本篇文…

关于时间的基本概念

年的标准——纪元 Era Epoch 在中国古代, 皇帝会订立年号来纪年, 比如贞观就是唐太宗订立的年号, 于是天下使用贞观元年,贞观二年的方式来纪年。皇帝可以因为各种原因更换年号,比如武则天在位21年, 使用了…

PROFINET转TCP/IP网关profinet网线接头接法

大家好,今天要和大家分享一款自主研发的通讯网关,捷米JM-PN-TCPIP。这款网关可是集多种功能于一身,PROFINET从站功能,让它在通讯领域独领风骚。想知道这款网关如何实现PROFINET和TCP/IP网络的连接吗?一起来看看吧&…

2.3 网络安全协议

数据参考:CISP官方 目录 OSI七层模型TCP/IP体系架构TCP/IP安全架构 一、OSI七层模型 简介 开放系统互连模型(Open System Interconnection Reference Model,OSI)是国际标准化组织(ISO)于1977年发布的…

MBA拓展有感-见好就收,还是挑战到底?MBA拓展有感-见好就收,还是挑战到底?

今天看到新闻提到某位坚持了14年高考的同学滑档,让人心生感叹:无论在日常工作还是生活中,选择都是非常重要的。不由想起前段时间我参加研究生新生拓展时的一些感悟,和大家分享一下。 事情的起因是拓展活动中的一个分队竞技类的活…

Spring boot 集成 Skywalking 配置 || Skywalking 打不开【已解决】

一、Skywalking官网 Apache SkyWalking 1.下载Skywalking APM (如果下载最新的,双击打开闪退,选老点的版本) 2. 下载 Skywalking Agents 如果下载太慢,建议复制下载链接,然后用下载器下载,比…

MySql006——检索数据:基础select语句

在《MySql003——结构化查询语言SQL基础知识》中,我们学习了有关SQL的基础知识,也知道SQL中查询语句select使用最为频繁。 它的用途是从一个或多个表中检索信息。为了使用SELECT检索表数据,必须至少给出两条信息——想选择什么,以…

C语言笔试训练【第二天】

文章目录 第一题 第二题 第三题 第四题 第五题 第六题 第七题 大家好&#xff0c;我是纪宁。 今天是C语言笔试训练的第二天&#xff0c;一起加油&#xff01; 第一题 1、以下程序段的输出结果是&#xff08; &#xff09; #include<stdio.h> int main() {char…

26 MFC序列号函数

文章目录 Serialize对于存储文件的序列化 Serialize Serialize 是一个在 MFC (Microsoft Foundation Classes) 中常用的函数或概念。它用于将对象的数据进行序列化和反序列化&#xff0c;便于在不同的场景中保存、传输和恢复对象的状态。 在 MFC 中&#xff0c;Serialize 函数…

上半年NOA计算方案份额首发,英伟达与地平线占比超八成

进入2023年&#xff0c;一边是少数头部车企开始发力城区NOA&#xff08;领航辅助驾驶&#xff09;&#xff0c;另一边则是更多车企进入普及高速NOA的新周期。 这也意味着&#xff0c;过去集中于30万元以上车型市场的高阶智能驾驶功能&#xff08;以NOA为代表&#xff09;&#…

认识Webpack插件Plugin;CleanWebpackPlugin插件;HtmlWebpackPlugin;DefinePlugin;Mode模式

目录 1_认识插件Plugin2_CleanWebpackPlugin3_HtmlWebpackPlugin4_DefinePlugin4.1_介绍4.2_DefinePlugin的使用 5_Mode模式 1_认识插件Plugin Webpack的另一个核心是Plugin&#xff0c;官方有这样一段对Plugin的描述&#xff1a; While loaders are used to transform certai…

如何开启一个java微服务工程

安装idea IDEA常用配置和插件&#xff08;包括导入导出&#xff09; https://blog.csdn.net/qq_38586496/article/details/109382560安装配置maven 导入source创建项目 修改项目编码utf-8 File->Settings->Editor->File Encodings 修改项目的jdk maven import引入…

@ControllerAdvice注解使用及原理探究 | 京东物流技术团队

最近在新项目的开发过程中&#xff0c;遇到了个问题&#xff0c;需要将一些异常的业务流程返回给前端&#xff0c;需要提供给前端不同的响应码&#xff0c;前端再在次基础上做提示语言的国际化适配。这些异常流程涉及业务层和控制层的各个地方&#xff0c;如果每个地方都写一些…

APP开发中的性能优化:提升用户满意度的关键

APP开发中的性能优化是需要持续进行的&#xff0c;它不仅能够让用户体验到 APP的使用感受&#xff0c;还能在一定程度上提升用户的满意度&#xff0c;从而提升 APP的粘性和转化率。不过在实际开发中&#xff0c;很多 APP开发公司会存在性能优化上的问题&#xff0c;这就需要了解…

【EI/SCOPUS会议征稿】第三届物联网与机器学习国际学术会议(IoTML 2023)

第三届物联网与机器学习国际学术会议&#xff08;IoTML 2023&#xff09; 2023 3rd International Conference on Internet of Things and Machine Learning 2023年物联网与机器学习国际学术会议&#xff08;IoTML 2023&#xff09;将于2023年9月15-17日在新加坡召开。会议…

java后端富文本转word,再传递到浏览器下载。

思路参考&#xff0c;以及所有的工具类都使用了》牧羊人大佬的代码《 有帮助的话不用给到我点赞&#xff0c;给大佬点赞即可 这是前端代码&#xff0c;必须使用get。 post后端返回的流浏览器接收不到&#xff08;具体原因不详&#xff09;。get无法传递requestBody&#xff0c;…

医学影像PACS系统源码:多功能服务器和阅片系统

PACS系统是以最新的IT技术为基础&#xff0c;遵循医疗卫生行业IHE/DICOM3.0和HL7标准&#xff0c;开发的多功能服务器和阅片系统。通过简单高性能的阅片功能&#xff0c;支持繁忙时的影像诊断业务&#xff0c;拥有保存影像的院内Web传输及离线影像等功能&#xff0c;同时具有备…