查看原文
其他

利用Python对两个EXCEL数据进行筛选

走天涯徐小洋 走天涯徐小洋地理数据科学 2022-05-17

现有多个EXCEL表格,存储有世界各个国家的经济社会相关数据,我想要挑选出一带一路有关国家的数据,那么该怎么做呢?


首先观察每个EXCEL数据有啥特点?每个EXCEL表中都有一个相同的字段:Country Name,就可以根据这个字段进行筛选了。

我将一带一路国家做成一个EXCEL表,表头为:国家,Country Name,这样就可以利用这个一带一路国家名称表对上面的数据进行筛选了。

想要利用国家名称EXCEL表筛选上面一堆表格。如果用EXCEL挨个儿找国家,实在是太麻烦了,这个时候就要体现Python的优越性了。可以使用Python语句批量进行。下面是手动一个个表格筛选方法:

import pandas as pd
CountryName = pd.read_excel('Countries.xlsx', sheet_name = 0, header=0)GDP_PPP = pd.read_excel('GDP_PPP.xlsx', sheet_name=0, header=0)GDP_PPP2 = pd.merge(GDP_PPP, CountryName, how='inner', on=["Country Name"])GDP_PPP2.to_excel('GDP_PPP2.xlsx', index=False)

感觉上面的方法还是有些麻烦,要想把所有的数据筛选了,还得一个个改输入的数据名称,如何批量筛选呢?请看下面:

import pandas as pdimport os
CountryName = pd.read_excel(r'E:\Python\Countries.xlsx', sheet_name = 0, header=0) #读取一带一路国家名称EXCELpath=r'E:\Python\WorldData' #指定世界经济数据目录filenames = os.listdir(path) #遍历目录下的文件for filename in filenames: path1=os.path.join(path, filename) #生成文件路径 WorldData = pd.read_excel(path1, sheet_name=0, header=0) #批量读取世界经济EXCEL WorldData2 = pd.merge(CountryName, WorldData, how='inner', on=["Country Name"]) #利用Country Name字段进行筛选 WorldData2.to_excel(path1, index=False) #将筛选后的数据写入EXCEL print(path1)


您可能也对以下帖子感兴趣

文章有问题?点此查看未经处理的缓存