老婆大人的要求是要把4个excel表格的某几行的数据汇总到一个台账中,因为水平实在不行只能用RPA工具写了。
首先弄一个输入界面给她选择,第一个是台账,其他是需要汇总的分表(图片打码位置是公司名所以就打码了)
然后第8行用python模式插入,因为她说偶然部分分表不需要汇总,也就是 有时是4个表都要汇总,有时是3个2个还是1个都不定,所以 假如res 这个分表名字和路径的字典需要重新判断一下是不是默认系统路径,如果不是假如到 要处理的表格 这个字典中
最后再传参出去到别的流程块下工作
将台账的路径和 分表的名字和路径的字典去到汇总的模块处理
首先是 根据不同的字典key做不同的数据收集
第一个分表需要判断 第1列和第19列分别有'投诉'和'服务质量'字眼的数据才需要汇总,测试的时候发现偶然有什么都没有填写的空格,,所以在流程的第8行加入了如果判断是不是都是填满字符串的才往下判断。流程的11行这里实在不知道如何简便的将数据重新排列到符合女友的意思,所以只有写了一个列表,None是因为很多位置不用填数据。排好后就写入rpa工具的内置数据表格中用于最后一次性汇总。
之后的其他表格也是如上操作
4个分表都汇总整理好后就读取台账的最后一行写入,59行输出一下原始数据方便检阅
这个时候,老婆大人又提要求,说她领导说现在只要旗下集团的4个分公司的数据,其他的不要了,然后我就在52行插入了循环筛选的
还好初学了一点python,不然就帮不上忙了,下面是整个脚本最关键的4段
'''
test_lst = ['aaa',None,13123,None,'bbb']
func = lambda items : str(items) if bool(items) == True else items
test_lst2 = [func(i) for i in test_lst]
print(test_lst2)
'''
'''
for i in test_lst:
print(i)
if bool (i) == False:
continue
else:
str(i)
#test_lst2 = [for i in test_lst str(i) if bool(i) == True else continue ]
print(test_lst2)
func = lambda i :test_lst2.append(i) if bool (i) == False else test_lst2.append(str(i))
'''
'''
test_lst = ['A',None,'B',None,'C']
if bool(test_lst[0] and test_lst[4]) == True:
print('ok')
'''
'''
datatable = [1,2,3,4,5,6,7,8,9,0,'aa',None,None,None,None,None,None,None,None,None,None,None,None,None,None,None,None,None,None,None,None,None,None,None,None,None,None,'A公司',None,None,None,None,None,None,None,None,None,None,None,None,None,None,None,None,None,None,None,None,None,None,None,None,None,None,None,None,None,None,None,None,None,None,None]
filter_lst = []
for i in datatable:
if bool(i[36])==False:
continue
elif bool('A公司' in i[36] or 'B公司' in i[36] or 'C公司' in i[36] or 'D公司' in i[36])==True:
filter_lst.append(i)
'''
好了,以上的一切都搞定之后,就要开始恶作剧了!
写一个input面板每次打开用我的这个脚本的时候都能弹出来。
然后再恶心一点~ 设置一个读秒没有观看10秒就自动弹出报错,嘻嘻。晚上跪榴莲皮我都要这样弄一下了,哈哈