按照负责人进行分类
实现以后的效果
代码如下
import openpyxl
import time
def data_class(sheet, table2, des_file):
""" 读取sheet内容按照负责人分类并创建写入sheet表
:param sheet: sheet表
:type sheet: 字符串或者sheet对象
:param table2: 创建的excel表类对象
:type table2: 对象
:param des_file: 分类完成保存的excel表文件
:type table2: 字符串
"""
for row in sheet.values:
# print(row)
# print(list(sheet.values)[0])
if row[1] == "负责人":
pass
elif row[1] is None:
try:
sheet1 = table2["负责人为空"]
print("None---try")
except Exception:
print("None---except")
sheet1 = table2.create_sheet("负责人为空")
sheet1.append(list(sheet.values)[0])
finally:
sheet1 = table2["负责人为空"]
sheet1.append(list(row))
else:
try:
sheet1 = table2[row[1]]
print("负责人---try")
except KeyError:
print("负责人---except")
sheet1 = table2.create_sheet(row[1])
sheet1.append(list(sheet.values)[0])
finally:
sheet1 = table2[row[1]]
sheet1.append(list(row))
table2.save(des_file)
def main(src_file, des_file):
"""数据结果处理
:param src_file: 源文件
:type src_file: 字符串或文件对象
:param des_file: 目标文件
:type des_file: 字符串或文件对象
"""
table = openpyxl.load_workbook(src_file)
table2 = openpyxl.Workbook()
sheet1 = table2.active
sheet1.title = "负责人为空"
sheet1.append(list(list(table)[0].values)[0])
for sheet in table:
print(sheet)
data_class(sheet, table2, des_file)
return des_file
if __name__ == "__main__":
src_file = "./excel_data/test.xlsx"
tt = time.strftime('%Y%m%d%H%M%S', time.localtime(time.time()))
des_file = f"./excel_data/{tt}-test.xlsx"
main(src_file, des_file)