python小程序——筛选出合适的数据

有两个表,A表和B表,需要筛选出B表中level1=1和level2在1-8之间的数据,并找出A表中符合B表筛选完后条件的行

首先读取A表和B表

import pandas as pd
event_data = pd.read_excel("A.xls")
IEC_data = pd.read_csv("B.csv")

其中A表如下图所示
python小程序——筛选出合适的数据_第1张图片
B表如下图所示
python小程序——筛选出合适的数据_第2张图片首先对B表中Level_1与Level_2两列进行筛选,之前这两列的列名分别是Level 1与Level 2,因为空格不方便,所以表中改为了下划线

IEC_data_filter = IEC_data[(IEC_data.Level_1==2)&(IEC_data.Level_2>=1)&(IEC_data.Level_2<=8)]

接着遍历A表中每一行判断A表中的事件事件代码是否在筛选完后的B表中的事件编号中,并输出A表中符合条件的行的索引值

a = []
for item in range(0,event_data.shape[0],1):
    event_code = event_data.loc[item,'事件代码']
    if event_code in IEC_data_filter['事件编号']:
        a.append(item)

最后选出A表中符合条件的行并输出到excel中

event_data_new = event_data.iloc[a]
event_data_new.to_excel('事件信息数据.xls')

你可能感兴趣的:(python小程序——筛选出合适的数据)