之前写过一篇AI+编程相关的文章 【人工智能】为啥我最近很少写python编程文章了,浅谈AI+编程+RPA提升工作效率 。 最近有同学私信我,怎么利用AI编程来提升工作效率,除了文章里讲的 使用AI帮忙写算法、代码提示、代码优化、不同语言转换(如JAVA转为python)等, 还有哪些具体的应用场景。
这里举一个工作中的例子,作为一个管理(或者HR), 每个月初可能需要对员工提交的excel表格评绩效,然后汇总到一张总表上。
1、传统的做法, 复制粘贴内容到新的表格里。假设团队人数少复制粘贴还好说,如果员工人数多了呢,这个事情就扯淡了。
2、普通人智能的做法,可能借助RPA工具(比如影刀)写一个脚本来完成多个excel复制粘贴, 这个场景举例不一定合适,自己没试过,但确实能解决重复劳动的事情。
3、程序员的做法,如果没有AI的时候,就会想到用循环遍历读取excel, 用pandas来处理生成新的excel数据,如果对pandas语法不熟还需要查阅相关资料。
4、这里我们交给coze完成,用chatGPT4。
这里假定姓名、岗位、绩效分数 是在excel的某个固定位置,我以下提问,写得比较low,将就看。
Q:
我有一个文件夹/Users/lwj/python_test_data/ , 文件夹下有很多xlsx格式excel,每个表格sheet0中 A1是姓名、C1是岗位, B3是分数,我要快速提取数据生成表格汇总.xlsx , 新表格 表头分别 A1姓名,B1岗位,C1分数, 新表格按照分数从高到低排列放在对应列下。请给出可以运行的python代码。
A:理解了你的需求后,这里是一段可以完成你任务的Python代码。该代码会从每个表中提取指定的数据,并按分数降序排列后生成一个新的汇总Excel文件。
import pandas as pd
import os
# 设置要查找文件的路径
folder_path = '/Users/lwj/python_test_data/'
# 初始化一个空的DataFrame列表,用于汇总数据
data_frames = []
# 遍历文件夹中的所有文件
for file_name in os.listdir(folder_path):
if file_name.endswith('.xlsx'):
# 构建每个文件的完整路径
file_path = os.path.join(folder_path, file_name)
# 用read_excel读取特定单元格的值
df = pd.read_excel(file_path, sheet_name=0, header=None)
# 创建一个包含所需数据的临时DataFrame
temp_df = pd.DataFrame({
'姓名': [df.at[0, 0]],
'岗位': [df.at[0, 2]],
'分数': [df.at[2, 3]]
})
# 将临时DataFrame添加到汇总列表中
data_frames.append(temp_df)
# 使用concat合并所有DataFrame
summary_df = pd.concat(data_frames)
# 按照'分数'对数据进行降序排序
summary_df.sort_values('分数', ascending=False, inplace=True)
# 将DataFrame的索引重置,因为concat不会自动重排索引
summary_df.reset_index(drop=True, inplace=True)
# 将合并后的数据输出到一个新的Excel文件中
summary_file_path = '/Users/lwj/python_test_data/表格汇总.xlsx'
summary_df.to_excel(summary_file_path, index=False) # 不写入索引到文件
print(f"汇总的数据已存储至 {summary_file_path}")
代码正常运行,结果符合预期。
AI+编程怎么说呢,还是要结合自己的应用场景,尽量用准确的表述让AI帮忙写代码。如果你平时只是问很基本的问题, 如用Python编写一个冒泡排序之类的,你不会发现AI的真正价值。另外,在问AI的同时,其实也是变相训练自己的逻辑表达问题的能力,让AI能懂且傻瓜式编程。
最后,你还会觉得李彦宏说的以后不存在程序员这个职业是危言耸听么?附上之前写的一篇文章【人工智能】李彦宏:以后不会存在“程序员”这种职业了。问你害不害怕?