2016-02-01 FFC

本周参加了封闭式学习,改变了部分价值观和思维方式,并结交新朋友。获得部门等级晋升机会,参加工具类讲座并认真学习全程。积极参与公司活动,感受到团队温暖。

2016-02-01 FFC

1. 临时参加为期一周的封闭式学习,调整了之前的计划。通过这次学习,收获很多:(1)除了丰富的知识之外,某些方面的价值观和思维方式都有所改变。(2)认识到自己一些性格的缺陷和不好的生活和思维习惯。(3)认识和结交了一些朋友,增强了团队意识。 虽然有点身心疲惫(一周多没锻炼),但收获很多,以后多多争取类似机会。

2  早上主管单独面谈,部门有个等级晋升的机会,名额有限。鉴于15年的表现,主管推荐了我,至于结果还需评审,得到直属领导的认可,挺高兴的。

2. 下午参加一个工具类学习讲座,这次认认真真听完全程,没有走神,感到很欣慰。学习了新工具的正确使用方法,反馈了一些自己使用时出现的问题和痛点,整个讲座下来显得很轻松。

4.  收到之前年会活动时的礼物,感到一丝温暖,以后积极参加类似活动,一方面结交一些朋友,另一方面锻炼自己。

from openpyxl import Workbook from openpyxl.styles import Font, Alignment, PatternFill, Border, Side, numbers from openpyxl.formatting.rule import CellIsRule, FormulaRule from openpyxl.utils import column_index_from_string # 创建工作簿 wb = Workbook() ws = wb.active ws.title = "小李的美好生活" # 表头数据 headers = ["年月", "服装服饰", "饮食", "水电气房租", "交通", "通信", "阅读培训", "社交应酬", "医疗保健", "休闲旅游", "个人兴趣", "公益活动", "总支出"] # 表格数据行(简化示例,你可补充完整真实数据) data = [ ["201601月", 300, 800, 1100, 100, 100, 200, 80, 300, 0, 0, 0], ["201602月", 1200, 600, 900, 200, 300, 300, 20, 500, 0, 0, 0], ["2016年03月", 500, 750, 1000, 300, 200, 200, 0, 300, 0, 0, 0], ["2016年04月", 150, 900, 1000, 300, 100, 300, 200, 100, 0, 0, 0], ["2016年05月", 200, 800, 1500, 200, 200, 200, 100, 200, 0, 0, 0], ["2016年06月", 200, 850, 1100, 250, 100, 600, 200, 300, 0, 0, 0], ["2016年07月", 1100, 850, 1100, 300, 900, 300, 150, 0, 0, 0, 0], ["2016年08月", 1100, 850, 1100, 200, 0, 200, 100, 100, 0, 0, 0], ["2016年09月", 200, 900, 1000, 200, 0, 200, 150, 600, 0, 0, 0], ["2016年10月", 200, 900, 1200, 180, 0, 100, 100, 400, 0, 0, 0], ["2016年11月", 800, 1050, 1100, 350, 0, 500, 60, 200, 0, 0, 0], ["2016年12月", 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], ["月均开销", "", "", "", "", "", "", "", "", "", "", "", ""] ] # 写入表头 ws.append(headers) # 写入数据 for row in data: ws.append(row) # 步骤③:简化应用主题(设置字体、对齐等模拟) # 设置标题行(第1行)格式 for cell in ws[1]: cell.font = Font(size=14, bold=True) cell.alignment = Alignment(horizontal='center', vertical='center') cell.fill = PatternFill(start_color='C0C0C0', end_color='C0C0C0', fill_type='solid') cell.border = Border(left=Side(style='thin'), right=Side(style='thin'), top=Side(style='thin'), bottom=Side(style='thin')) # 步骤④:设置货币类型(B3:M15,假设数据到15行 ) for row in ws.iter_rows(min_row=3, max_row=15, min_col=2, max_col=13): for cell in row: cell.number_format = '_($* #,##0_);_($* (#,##0);_($* "-"_);_(@_)' # 步骤⑤:函数计算 # 计算每月总支出(M列,从第3行开始 ) for row_num in range(3, 15): ws.cell(row=row_num, column=13, value=f'=SUM(B{row_num}:L{row_num})') # 计算类别月均支出(假设放第15行,对应B15:L15 ) for col_num in range(2, 13): ws.cell(row=15, column=col_num, value=f'=AVERAGE(B3:B14)') # 计算每月平均总支出(M15 ) ws.cell(row=15, column=13, value='=AVERAGE(M3:M14)') # 排序(按总支出列升序,A2:M14 ) # 先获取数据行,排序后重新写入(openpyxl排序较麻烦,这里简单模拟,实际可在Excel里操作或用其他方法 ) data_rows = list(ws.iter_rows(min_row=2, max_row=14, min_col=1, max_col=13)) data_rows.sort(key=lambda x: x[12].value) for idx, row in enumerate(data_rows, start=2): for col_idx, cell in enumerate(row, start=1): ws.cell(row=idx, column=col_idx, value=cell.value) # 步骤⑥:条件格式(简化模拟 ) # 单项开支>1000突出显示(B3:L14 ) for row in ws.iter_rows(min_row=3, max_row=14, min_col=2, max_col=11): for cell in row: if cell.value and cell.value > 1000: cell.font = Font(color='FF0000', bold=True) cell.fill = PatternFill(start_color='FFFF00', end_color='FFFF00', fill_type='solid') # 月总支出>月均总支出110%加粗倾斜(M3:M14 ,M15是月均 ) monthly_avg = ws.cell(row=15, column=13).value for row_num in range(3, 15): total_cell = ws.cell(row=row_num, column=13) if total_cell.value and total_cell.value > monthly_avg * 1.1: total_cell.font = Font(bold=True, italic=True) # 步骤⑦:插入季度列 ws.insert_cols(2) # 在B列插入,原B列及后右移 ws.cell(row=1, column=2, value='季度') # 表头 # 填充季度公式(B3开始 ) for row_num in range(3, 15): year_month = ws.cell(row=row_num, column=1).value month = int(year_month[5:7]) quarter = (month - 1) // 3 + 1 ws.cell(row=row_num, column=2, value=f'{quarter}季度') # 步骤⑧:复制工作表 new_ws = wb.copy_worksheet(ws) new_ws.title = "按季度汇总" # 删除月均开销行(假设是第15行 ) new_ws.delete_rows(15) # 改变标签颜色(openpyxl设置标签颜色有限,可在Excel里手动改 ) # 步骤⑨:分类汇总(openpyxl难完全模拟交互版分类汇总,这里简单计算季度均值,实际可在Excel完成 ) # 先按季度列(B列 )排序 data_rows_new = list(new_ws.iter_rows(min_row=2, max_row=new_ws.max_row, min_col=1, max_col=new_ws.max_column)) data_rows_new.sort(key=lambda x: x[1].value) for idx, row in enumerate(data_rows_new, start=2): for col_idx, cell in enumerate(row, start=1): new_ws.cell(row=idx, column=col_idx, value=cell.value) # 简单计算季度各类开支均值(示例,可扩展 ) quarters = list(set([cell.value for cell in new_ws['B'][2:new_ws.max_row]])) for quarter in quarters: for col in range(3, 13): # 开支列 values = [new_ws.cell(row=r, column=col).value for r in range(2, new_ws.max_row) if new_ws.cell(row=r, column=2).value == quarter] avg = sum(values)/len(values) if values else 0 # 可将结果写入新行,这里简单打印示意 print(f'季度{quarter},第{column_index_from_string(col)}列均值:{avg}') # 保存工作簿 wb.save("小李的支出表_processed.xlsx") from openpyxl import Workbook from openpyxl.styles import Font, Alignment from openpyxl.utils import column_index_from_string # 创建工作簿等基础操作(同之前代码,补充完整数据后 ) wb = Workbook() ws = wb.active ws.title = "小李的美好生活" # (省略数据写入、格式设置等之前的代码,确保数据准确,包含季度列、分类汇总前数据 ) # 假设已完成分类汇总前的所有处理,以下模拟分类汇总后的数据写入(示例,实际需按真实计算 ) summary_ws = wb["按季度汇总"] # 手动补充分类汇总后的数据(这里仅示意,实际用分类汇总功能计算 ) summary_data = [ ["季度", "服装服饰", "饮食", "水电气房租", "交通", "通信", "阅读培训", "社交应酬", "医疗保健", "休闲旅游", "个人兴趣", "公益活动", "总支出"], ["1季度", 400, 780, 1000, 200, 200, 230, 100, 250, 0, 0, 0, 3160], ["1季度 平均值", 400, 780, 1000, 200, 200, 230, 100, 250, 0, 0, 0, 3160], # 继续补充其他季度及平均值数据... ] for row in summary_data: summary_ws.append(row) # 保存工作簿,之后在Excel里手动完成步骤⑩ wb.save("小李的支出表_complete.xlsx")
06-18
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值