Python自动化:从多路径多Excel表中获取指定数据并存入新表

我是智能取经人 2024-07-25 10:42:39

摘要:在数字化办公时代,数据提取与整理成为日常工作的常态。本文将介绍如何利用Python自动化技术,从多路径多Excel表中一键提取所需数据,并汇总至新表。这不仅极大提升了工作效率,也为企业数据管理提供了强有力的技术支持。

数据提取的挑战

小李,一名大型国企的数据分析师,面临一项艰巨的任务:在上千份Excel文件中提取特定数据,并保存到新的Excel表中。传统方法下,这项工作耗时耗力,且极易出错。

传统方法的局限性耗时耗力: 逐个打开Excel文件,复制所需数据,上千份Excel需上万分钟。容易出错: 重复性工作增加了出错的风险。效率低下: 无法快速响应数据分析和报告需求。Python自动化:办公效率的革命技术解决方案

小李通过微信公众号后台找我们,我们为他找到了一种高效的解决方案。通过编写Python脚本,他能够一键提取所有Excel文件中的所需数据,大大提升工作效率。

代码实现import oswork_path = os.getcwd() + "\\资料" #获取当前工作路径,指定“资料”文件夹#获取路径下所有.xlsx文件,并存入列表pathss=[] # 存储文件夹内所有文件的路径(包括子目录内的文件)for root, dirs, files in os.walk(work_path): path = [os.path.join(root, name) for name in files] #将目录和文件名连接起来,才是完整文件路径 for i in range(len(path)): #遍历所有文件的地址 if path[i].endswith(".xlsx"): #只提取后缀为xlsx的文件 pathss.append(path[i])#定义函数,获取Excel表格中的ID数据from openpyxl import load_workbook #用于读取Excel中的信息def Get_system_ID(file): wb = load_workbook(file) ws = wb.active ID_list = [] for row in range(2,ws.max_row+1): ID = ws["A"+str(row)].value #ID信息在A列 if ID != None: #过滤空值 ID_list.append(ID) return ID_list#获取数据,存入总列表total_list = []for file in pathss: info = Get_system_ID(file) total_list += info#写入数据到新的excel表,并设置格式from openpyxl import Workbookfrom openpyxl.styles import Font, colors, Alignment #字体,颜色,对齐from openpyxl.styles import PatternFill #单元格填充wb = Workbook() #新建Excel工作簿ws = wb.active #使用活动工作表ws.column_dimensions['A'].width=18.5 #设定A列宽度ws.cell(row=1,column=1,value="ID") #写入字段名color_fill = PatternFill(fill_type='solid', fgColor="B3CFA1") #设置底色ws.cell(row=1, column=1).fill = color_fill #填充底色#批量从列表中提取数据并写入for row in range(1,len(total_list)+1): ws.cell(row=row+1,column=1,value=total_list[row-1])#设置字号及对齐font_set = Font(name='Arial', size=9)for i in range(1,ws.max_row+1): ws.cell(row=i,column=1).font = font_set ws.cell(row=i,column=1).alignment = Alignment(horizontal='left', vertical='center',shrink_to_fit = True)wb.save(os.getcwd()+"\\ID.xlsx")print(f"\n共获取到 {len(pathss)} 个 Excel表,共 {len(total_list)} 个ID。")核心优势批量处理: 一键处理文件夹下所有Excel文件。高效率: 从上万分钟缩短至几分钟。高准确率: 自动化操作,减少人为错误。结果展示

小李利用Python脚本,成功地从上千份Excel表格中提取了所需数据,并汇总至新的Excel表中,整个过程快速、准确。

结语:自动化,让工作更智能

Python自动化技术不仅提升了小李的工作效率,也让他从繁琐的手动操作中解放出来,有更多的时间专注于数据分析和决策支持。

分享你在数据处理中遇到的挑战,或是你如何使用技术提升工作效率的故事。在评论区留言,让我们一起探讨自动化的无限可能!

数海丹心

大数据和人工智能知识分享与应用

127篇原创内容

公众号

0 阅读:39

我是智能取经人

简介:感谢大家的关注