接公司任务,通过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()
待持续更新