根据省市区名字发送请求

思路

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

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

{'台湾': {},'新疆': {},'港澳': {'中国澳门': ['凼仔岛', 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 书接上…

详解Python中pyautogui库的最全使用方法

这篇文章主要介绍了详解Python中pyautogui库的最全使用方法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧 在使用Python做脚本的话,有两个库可以使用&…

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

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

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

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

MySQL同过表里最大id来进行更新(update)或者插入(insert)

更新同一个表中值为最大值的位置 UPDATE stock_cost_content SET model_id 5 WHERE id (SELECT MAX(id) FROM stock_cost_content us) 但是,sql 显示表“stock_cost_content”定义两次的错误。我该如何解决这个问题? 在 MySQL 中,您可以将…

关于时间的基本概念

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

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

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

redis 如何保证数据一致性

前言 日常开发中常会使用redis作为项目中的缓存,只要我们使用 Redis 缓存,就必然会面对缓存和数据库间的一致性保证问题。而且如果数据不一致,那么应用从缓存中读取的数据就不是最新数据,可能会导致严重的业务问题。 为什么会数…

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检索表数据,必须至少给出两条信息——想选择什么,以…

【OpenAI】AI写代码,idea插件、vscode插件

试了下AI自动写代码,在idea和vscode的插件市场能搜到五花八门的AI插件,感觉还可以的两个。aiXcoder和Tabnine。 使用心得 挺好,可以玩,但离投入生产使用还远远不够,要想AI写出自己想要的代码,需要用文字表…

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 函数…

连锁商店数据库课程设计

连锁商店数据库课程设计 1 需求分析 1.1 需求分析 伴随着连锁超市的不断增加&#xff0c;自动化管理水平不断提高&#xff0c;连锁超市管理系统的重要性也日益体现。为了准确掌握仓库信息&#xff0c;职工信息&#xff0c;销售信息&#xff0c;商品信息&#xff0c;保证商店工作…

上半年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…

摄像机sd卡格式化怎么恢复数据?简单五步轻松解决

在使用摄像机时&#xff0c;有时不慎将SD卡格式化&#xff0c;导致重要的照片或视频文件丢失。然而&#xff0c;不必惊慌&#xff0c;本文将详细解释如何恢复被格式化的摄像机SD卡上的数据&#xff0c;可通过下面提供的五步&#xff0c;轻松解决数据丢失问题&#xff0c;以确保…