51工具盒子

依楼听风雨
笑看云卷云舒,淡观潮起潮落

Python对Excel进行数据对比

接公司任务,通过Python对Excel文件内容进行比对,判断是否有新内容增加

以下为Python脚本内容:

# coding: utf-8
#----引用模块----#
import pandas as pd
import json
import xlrd
#----引用模块----#
def excel_one_line_to_list():
    # ----读取文件内容----#
    Config_Path = "file.json"
    File_Open = open(Config_Path, 'r', encoding='UTF-8')
    File_Read = File_Open.read()
    File_Code_D = json.loads(File_Read)
    # ----读取文件内容----#
    #对文件列表进行循环
    for File_List in File_Code_D:
        #取文件列表地址
        File_Path = File_Code_D[File_List]
        #获取excel表格指定内容,4,5为第4,5列内容,工作簿名称sheet_name
        df = pd.read_excel(File_Path, usecols=[4, 5],names=None,sheet_name="异常订单")
        #生成列表
        df_li = df.values.tolist()
        #创建空字典
        Dict = {}
        Num = 1
        #循环读取列所有数据
        for Nums in range(len(df_li)):
            Df_List = df_li[Nums]
            if str(Df_List[1]) == "nan":
                Table_Code = "%s"%(Df_List[0])
            else:
                Table_Code = "%s %s"%(Df_List[0],Df_List[1])
            if Dict.setdefault(Table_Code,0) == 0:
                Dict[Table_Code] = Num
            else:
                Dict[Table_Code] = Dict[Table_Code]+1
            if File_List == 'new_File_Path':
                Dict_New = Dict
            elif File_List == 'old_File_Path':
                Dict_Old = Dict
    New_Error_Code = ''
    Old_Error_Code = ''
    for named in Dict_New:
        if Dict_Old.setdefault(named,0) == 0:
            New_Error_Code+= "异常订单名称:%s 新增异常订单:%s\n"%(named,Dict_New[named])
        else:
            Old_Error_Code += "异常订单名称:%s 本月:%s 上月:%s\n" % (named,Dict_New[named], Dict_Old[named])
    print("%s%s"%(New_Error_Code,Old_Error_Code))
if __name__ == '__main__':
    excel_one_line_to_list()

待持续更新

赞(0)
未经允许不得转载:工具盒子 » Python对Excel进行数据对比