python openqyxl 操作excel
import os import sys from openpyxl import load_workbook class Excel: # 读取数据 def __init__(self, excel_path, sheet_name): """ :param excel_path: excel文件路径 : xx/xxx.xlsx :param sheet_name: 需要打开表格名字 : sheet1 """ self.work_book = load_workbook(excel_path) self.work_sheet = self.work_book.get_sheet_by_name(sheet_name) # 拷贝 self.new_sheet = self.work_book.copy_worksheet(self.work_sheet) # 获取总行,获取总列 self.row = self.work_sheet.max_row # 获取总行数 self.columns = self.work_sheet.max_column # 获取总列数 def read_excel_date(self): """ :return: 把列表第一行标题与每一行数据,拉链字典,然后append添加到list中,返回: [{},{}] """ # 先判断表格中是否有内容 if self.row > 1: lst = [] key = list(map(lambda x: x.value, self.work_sheet[1])) # 第一列的数值 for row in self.work_sheet.iter_rows(min_row=2): value = list(map(lambda x: x.value, row)) lst.append(dict(zip(key, value))) # 拉链成一个列表字典 return lst def write_excel_data(self, column, value, row=2): """ :param column: 第几列 :param value: 写入内容 :param row: 第几行,默认从第二行开始,因为第一行是标题 :return: """ script_path = os.path.dirname(os.path.realpath(sys.argv[0])) relative_path = os.path.join(script_path, 'excel\修改结果.xlsx') self.new_sheet.cell(row=row, column=column, value=value) self.work_book.save(relative_path) def new_close(self,): """ 关闭excel 文件 :return: """ self.work_book.close() # a = Excel(excel_path='D:\PyCharm\水保护\data.xlsx', sheet_name='Sheet1') # # new_row = 2 # for row in range(6): # a.write_excel_data(row=new_row, column=6, value='通过') # new_row += 1 # # print('ok')
使用
from new_Flask.rendExcelopenpyxl import Excel a = Excel(excel_path='D:\PyCharm\水保护\data.xlsx', sheet_name='Sheet1') new_row = 2 for row in range(22): a.write_excel_data(row=new_row, column=6, value='通过') # 写入功能 new_row += 1 print('ok')
write_excel_data()
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 【自荐】一款简洁、开源的在线白板工具 Drawnix
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本
· C#/.NET/.NET Core优秀项目和框架2025年2月简报
· DeepSeek在M芯片Mac上本地化部署