在大学慕课学习过python后,结课作业是让我们做出一个小项目,提供了很多方向,鉴于本人爬虫能力很弱,我选择基于环境云网站提供的API接口,实现了天气预报功能以及过去的天气数据分析功能,其中对于我来说比较困难的是如何实现覆盖全国的省市县下拉列表的实现,下面是我的实现思路
1.处理数据表
在环境云网站我得到了全国的省市县的areaid.xlsx文件,如下。
- 第一步
首先我将上面的文件转换成了areaid.csv形式,然后利用python中的pandas的read_csv函数很方便的将.csv文件转换成了Dataframe数据结构。
pd.read_csv(file_path)
- 第二步
将得到的Dataframe的index属性设置为NAMEEN中的所有元素组成的一个列表,这样设置一方面是为了便于后来的处理,另一方面是因为Dataframe这种数据类型的index不支持中文,下面是我的实现代码。
csv_file = pd.read_csv(file_path) #file_path是areaid.csv文件的路径
list_index = [i for i in csv_file.NAMEEN]
csv_file.index = list_index #将Dataframe的index属性换成所有县区的汉语拼音
csv_file_once = csv_file.drop(['NAMEEN'], axis = 1) #去掉Dataframe中的NAMEEN元素
下面是处理后的效果
- 第三步得到省份和市区的列表
首先将Dataframe中的PROVCN元素取出来然后利用集合去掉重复的元素,最后将其处理成一个省份列表,市区的处理过程同上。
#省份的处理
list_P = csv_file_onece.PROVCN
Shengfen_once = set(i for i in list_P)
Shengfen_second = list(Shengfen_onece)
#市区的处理
list_D = csv_file_onece.DISTRICTCN
Shiqu_onece = set(i for i in list_D)
Shiqu_second =