对于用python处理excel的数据,需要openpyxl模块,简单介绍一下。
openpyxl是一个用于读写Excel文件的Python库。它可以读取和写入.xlsx文件,并且提供了许多功能来操作Excel文件,例如创建、修改、删除工作表、单元格和图表等。openpyxl还支持许多Excel特性,如公式、图表、图像和数据验证等。此外,它还支持Pandas数据结构和NumPy数组,使得数据的导入和导出更加方便。
import openpyxl
workbook = openpyxl.load_workbook('example.xlsx')# 打开Excel文件
sheet = workbook.active# 获取工作表
cell = sheet['A1']# 读取单元格
print(cell.value)
sheet['A2'] = 'Hello, world!'# 写入单元格
workbook.save('example.xlsx')# 保存文件下面写一下源代码,实现功能是从指定文件夹下的所有Excel文件中提取ID数据,并将这些数据写入一个新的Excel文件中:
import os
from openpyxl import load_workbook, Workbook
from openpyxl.styles import Font, colors, Alignment, PatternFill
work_path = os.getcwd() + "\资料"
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"):
pathss.append(path[i])
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
if ID != None:
ID_list.append(ID)
return ID_list
total_list = []
for file in pathss:
info = Get_system_ID(file)
total_list += info
wb = Workbook()
ws = wb.active
ws.column_dimensions['A'].width=18.5
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。")
具体实现是使用os模块获取指定文件夹下所有的Excel文件路径,并将它们存入一个列表中。然后定义了一个函数Get_system_ID,用于从一个Excel文件中读取ID数据。接着,代码遍历所有Excel文件,使用Get_system_ID函数获取ID数据,并将它们存入一个总列表中。最后,代码创建了一个新的Excel文件,将总列表中的ID数据写入其中。

这里是遍历资料文件夹下的所有excel文件提出A列信息并输出到ID表格里,得到数据。
有条件的同学可以尝试一下,需要在资料文件夹里面添加一些excel文档。
