Python识别邮政编码对应的省市

一、邮政编码规则

中国的邮政编码实行“四级六码”制,即邮政编码由6位数字组成。具体来说,这6位数字分别代表以下四个层级:
  1. 前两位数字代表省(自治区、直辖市);
  1. 第三位数字代表邮区,即邮政内部的网络组织单位,近似于行政上的“地级市”;
  1. 第四位数字代表县(市)邮政局;
  1. 最后两位数字代表投递局(乡镇支局所或城区的分支机构)。

二,代码

首先我们得有个数据,这个数据长这样:
notion image
客户是有一串邮政编码,但是,一方面邮政编码都是具体到乡镇的,例如013255什么的,那么就没办法跟县级的邮政编码直接匹配。另一方面我们的邮政编码数据具体到县级,但是我们只想要市级的数据,因此得写个代码解决这个问题,解决方法如下:
notion image
还可以的,解读一下:
下面是对代码的逐行解读:
  1. def get_quxian(ca): 定义了一个名为 get_quxian 的函数,它接受一个参数 ca,这个参数预期是一个邮政编码。
  1. try: 开始一个 try 代码块,用于捕获执行过程中可能出现的异常。
  1. for k,v in dict1: 遍历 dict1 字典中的所有键值对。这里的 k 是键(城市名),v 是值(邮政编码)。
  1. if v >= int(ca): 检查当前邮政编码 v 是否大于等于传入的参数 ca(将 ca 转换为整数)。
  1. return k 如果条件满足,返回对应的城市名 k
  1. except: 如果在 try 代码块中发生异常,执行这里的代码。
  1. return '无邮政编码' 返回一个字符串 '无邮政编码',表示没有找到匹配的邮政编码。
  1. def get_city(ca): 定义了一个名为 get_city 的函数,它接受一个参数 ca,这个参数预期是一个邮政编码。
  1. return get_quxian(str(ca)[0:3]+'000') 调用 get_quxian 函数,并传入一个新构造的邮政编码字符串。这个字符串由 ca 的前三位加上三个 '0' 组成,这样做可能是为了匹配一个特定的邮政编码格式。
  1. import pandas as pd 导入 pandas 库,并给它起了一个别名 pd
  1. df = pd.read_excel(r"C:\Users\Administrator\Desktop\赚钱\程序员\专利数据处理\各地区邮政编码.xlsx") 使用 pandas 读取一个 Excel 文件,并将数据存储在变量 df 中。
  1. dict1 = list(zip(df['城市'],df['邮政编码']))df 数据框中的 '城市' 列和 '邮政编码' 列组合成一个列表的元组,然后转换为一个列表。
  1. dict1 最后,打印出 dict1 的值,这个值是一个包含元组的列表,每个元组包含一个城市名和对应的邮政编码。
 
3.14选调生,公务员全面解读数据包络分析DEA
  • Twikoo
  • Utterance
心情随笔
量化
机器学习
爬虫
开发
Python
Javascript
社会常识
课程笔记
Stata
科研笔记