关键词:AIGC/VBA/Python/Excel/Chatgpt
目录
一、概述
二、设计思路:在真正的企业办公环境下,VBA和Python怎么选?
三、和AIGC高效沟通(本文使用CursorIDE内嵌Chagpt4)
四、注意事项
在当今的数据度量工作中,Excel的使用已经非常普遍。根据一项调查,超过90%的企业都在使用Excel进行数据处理和分析。这是因为Excel提供了强大的数据处理和分析功能,同时操作简单,易于上手。
然而,当数据量偏大,筛选条件多,处理流程复杂的时候,Excel的操作就会变得非常繁琐。首先,Excel的数据处理能力有限,当数据量过大时,可能会导致程序运行缓慢。其次,复杂的筛选和处理流程需要大量的手动操作,这不仅容易出错,而且效率低下。
据统计,数据处理人员每天大约有30%的时间在进行这种繁琐的数据处理操作,这对企业来说是一笔巨大的人力成本。因此,寻找一种能够自动化处理大量数据,同时简化筛选和处理流程的工具,对于提高数据处理效率,降低人力成本具有重要的意义。
在这种环境下,职能组人员需要寻求技术手段来减少这种投入大产出少的工作量。幸运的是,随着人工智能的发展,这已经成为可能。现在,即使是编程新手,也可以利用人工智能技术来编写脚本,实现数据处理的自动化。
因此,无论你是技术人员还是非技术人员,都应该考虑利用人工智能来优化你的数据处理工作。这不仅可以帮助你提高工作效率,还可以让你学习AIGC的训练方式和AIGC工具的使用,在人工智能的浪潮中保持竞争力。
本文案例:在200人的部门中,研发管理平台每周会产生大几千条无序的工作日志(以人为单位),将他们梳理成以下格式报表。
源数据
目标数据
受到了RPA工作逻辑的启发后,找到了一种适合小白的开发思路:模拟人工操作,利用代码自动执行脚本中定义的操作步骤,这种思路只需要向机器一步步描述自己的逻辑就可以让AIGC很好的理解自己的需求。实例如下:
上述过程中,需要自己梳理清楚脚本的运行逻辑,并优化逻辑至AIGC能理解的颗粒度。实例如下:
A[开始] --> B[读取工作量工作日志文件]
B --> C[读取人工智能事业部名单文件]
C --> D[合并数据]
D --> E[提取细分组别1列并保存结果]
E --> F[读取工作日志文件]
F --> G[删除N到Z列并保存结果]
G --> H[使用条件筛选出所属事项类型为“缺陷”的行,并将工作类型列数据改为“除错”]
H --> I[读取人工智能事业部名单文件]
I --> J[统计所有细分组别1列中组别种类数量并计算每种组别的所有是否统计日志列为是的总和]
J --> K[读取原始 Excel 文件并初始化应填日志人数列的前29行为零]
K --> L[填写每个组别对应的应填日志人数并保存结果]
L --> M[读取工作日志文件并进行部门和工作量的筛选和计算]
M --> N[读取工作日志周报文件并填写各部门总工作量]
N --> O[保存修改后的工作日志周报文件]
O --> P[打开工作簿并遍历 M2 到 M27 单元格,在 H 列对应单元格填入乘以 37.5 后的值]
P --> Q[保存修改后的工作簿]
Q --> R[打开工作簿并遍历 F2 到 F25 单元格,在 J 列对应单元格填入除以 H2 到 H25 后的百分比值]
R --> S[保存修改后的工作簿]
S --> T[读取Excel文件并筛选出工作类型列为特定类型的行]
T --> U[按所属部门列分类统计工时(h)列的工时总和]
U --> V[读取工作日志周报文件并将统计结果填入工作日志周报文件的指定单元格中]
V --> W[保存工作日志周报文件]
W --> X[结束]
在对脚本语言的学习和理解难度、AIGC的编写准确度等进行综合考量后,找到了两种最适合企业职能组人员上手的语言:VBA和Python。以下是两种语言的优劣对比,按照需求可以选择不同的语言进行开发。
VBA优势:
1.紧密集成于Microsoft Office应用程序,特别适用于处理Excel、Word和Access等表格和文档。
2.VBA提供了丰富的内置功能和对象模型,可以直接操作Office应用程序的对象和功能。
3.可以应对企业加密,无信息安全风险,并且不涉及调用第三方支持库和组件,减少违规风险。
4.运行速度快。
VBA劣势:
1.语法相对较为简单,功能相对有限,不适合处理复杂的数据处理任务。
2.VBA只能在Office应用程序中运行,不具备跨平台的能力。
3.VBA的开发环境相对较为简陋,缺乏现代化的开发工具和调试功能。
Python(Pandas、Openpyxl)的优势:
1.Python在自动化表格处理上具有更大的灵活性和扩展性。
2.Python拥有丰富的第三方库和工具,如Pandas和OpenPyXL,可以轻松处理各种表格格式和数据操作。
3.Python还具有强大的文本处理和数据分析能力,适用于处理复杂的数据处理任务。
Python(Pandas、Openpyxl)的劣势:
1.DataFame无法应对企业常用的CDG数据加密,即无法在一些企业办公环境中正常运行。
2.相比于VBA运行速度较慢。
3.学习成本高于VBA,如学习IDE的使用等。
综上所述,VBA适用于处理Office应用程序相关的表格和文档,具有易用性和快速开发的优势。Python适用于处理复杂的数据处理任务,具有灵活性和扩展性的优势。根据具体的需求和技术水平,选择合适的工具来自动化表格处理是很重要的。
提问词举例:请帮我写一段代码,将xxxxx文件(此处填写文件路径)中,进行XXX操作,涉及到列,行的尽量直接输入表头中文,如“所属部门”列而非表格中的“F列”。并举例说明,避免对需求的理解不一致。
进行程序调试:
按照根据流程图步骤写出的一个个模块依次运行,查看:1.是否有报错。2.进入被处理的文件查看是否有错误数据,如大面积的0或空白、明显和显示不符合的数值(举例:工作量人均负荷一万多)、并可以选取其中一条进行测试(因为所有规则相同,一条全部正确即可判定为全部正确)。
在除错过程中,如果遇到自己不认识或无法快速修改的报错,将报错信息直接复制进入Chat对话框,AI会根据对话的上下文自动获取你所希望修改的代码并针对报错信息为你进行debug。
Chatgpt4喜欢犯的错误:
SyntaxError: multiple statements found while compiling a single statement:删掉import time计时器
NameError: name 'count' is not defined. Did you mean: 'round'?:在代码中使用 count 变量来存储并非必要操作,导致了 NameError: name 'count' is not defined 错误。
代码运行后源文件损坏,变成0kb,打开显示一直被python占用:在使用 pd.ExcelWriter 打开文件写入器时没有显式地关闭文件。这可能导致文件句柄没有正确释放,从而导致文件一直处于占用状态。在保存 Excel 文件后,添加 writer.close() 来关闭文件写入器,以确保文件句柄得到正确释放。