Python3 集成openpyxl 模块

您所在的位置:网站首页 python中openpyxl模块 Python3 集成openpyxl 模块

Python3 集成openpyxl 模块

2022-05-12 00:20| 来源: 网络整理| 查看: 265

openpyxl 模块简介:

openpyxl 模块可以读写Excel 文件,包括xlsx、xlsm、xltx和xltm等格式

openpyxl 模块 安装

执行如下安装命令:

pip install openpyxl openpyxl 模块涉及主要概念:

Workbook:代表一个Excel 工作表

Worksheet:代表一个Excel 工作表中的一页(sheet)

Cell:代表最简单的一个单元格

Workbook 对象涉及属性和方法: Workbook 对象涉及属性如下: active: 获取当前活跃的Worksheet worksheets: 以列表的形式返回所有Worksheet read_only: 判断是否以read_only 模式打开excel 文档 encoding:获取文档的字符集编码 properties: 获取文档的元数据,如标题、创建者、创建日期等 Workbook 对象涉及方法如下: get_sheet_names:获取所有表格的名称(该方法已经被废弃,推荐使用:通过Workbook 的sheetnames 属性即可获取) get_sheet_by_name:通过表格名称获取WorkSheet对象(该方法已经被废弃,推荐使用:通过Worksheet['表名']获取) get_active_sheet: 获取活跃的表格 remove_sheet:删除一个表格 create_sheet:创建一个表格 copy_worksheet:在Workbook 内复制表格 Worksheet 对象涉及属性和方法: Worksheet 对象涉及相关属性 title:表格的标题 dimensions:表示表格的大小,这里的大小是指数据的表格大小,即,左上角的坐标和右下角的坐标 max_row:表格最大行数 min_row:表格最小行数 max_column:表格最大列数 min_column:表格最小列数 rows:按行获取单元格 columns:按列获取单元格 freeze_panes:冻结窗口 values:按行获取表格内容 Worksheet 对象涉及相关方法 iter_rows:按行获取所有单元格,内置属性有:min_row、max_row、min_col和max_col iter_columns:按列获取所有单元格 append:在表格末尾添加数据 merged_cells:合并多个单元格 unmerged_cells:移除合并的单元格 Cell 对象涉及属性和方法: Cell 对象涉及相关属性 row: 单元格所在的行 column: 单元格所在的列 value: 单元格的值 coordinate:单元格的坐标 openpyxl 实战 openpyxl 实战之简单excel 文件读取 from openpyxl import load_workbook # 打开excel指定excel 文件 wb = load_workbook("E:\demo.xlsx") # 输出excel 文本包含所有sheet print(wb.sheetnames) # 输出指定sheet sheet = wb.get_sheet_by_name("Sheet1") # 读取sheet 最大行数 print(sheet.max_row) # 读取sheet 最大列数 print(sheet.max_column) # 读取指定Sheet 内容的Cell print(sheet["A1"]) # 读取Cell 的值 print(sheet["A1"].value) # 遍历输出sheet 指定列 for i in sheet["A"]: print(i.value, end="") openpyxl 实战之数据写入指定excel 文件中 import openpyxl import time # 定义数据 ls = [['周晨曦', '2', '肉肉', '广东省.深圳市', '男'], ['王梓暲', '2', '森宝', '上海市', '女']] # 时间格式定义 time_format = '%Y-%m-%d_%H:%M:%S' time_current = time.strftime(time_format) # 定义保存excel 文件方法 def saveexcel(data, sheetname, wbname): print("数据写入指定excel 文件") # 打开指定excel 文件 wb = openpyxl.load_workbook(filename=wbname) # 关联excel 活动sheet sheet = wb.active # 获取sheet 最大行数 max_row = sheet.max_row # 指定新数据写入指定行 row = max_row + 3 # 计算当前数据的长度 data_len = row + len(data) # 数据写入 for data_row in range(row, data_len): for data_cell in range(2, 7): _ = sheet.cell(row=data_row, column=1, value=str(time_current)) _ = sheet.cell(row=data_row, column=data_cell, value=str(data[data_row - data_len][data_cell -2])) # 保存数据 wb.save(filename=wbname) print('excel 文件保存成功') saveexcel(ls,"Sheet1","E:\demo.xlsx")

效果截图:

 

openpyxl 实战之指定数据写入excel 文件中,并生成对应图表 from openpyxl import Workbook from openpyxl.chart import ( AreaChart, Reference, Series ) wb = Workbook() ws = wb.active rows = [ ['地区', '最低工资', '最高工资', '平均工资'], ['广东', '2790', '66780', '8790'], ['上海', '3400', '54000', '9800'], ['北京', '4200', '117890', '10780'], ['江苏', '2600', '35000', '6780'], ] for row in rows: ws.append(row) chart = AreaChart() chart.title = "工资区域统计表" chart.style = 13 chart.x_axis.title = "地区" chart.y_axis.title = "工资水平" cats = Reference(ws, min_col=1, min_row=1, max_row=7) data = Reference(ws, min_col=2, min_row=1, max_row=7, max_col=3) chart.add_data(data, titles_from_data=True) chart.set_categories(cats) ws.add_chart(chart, "A10") wb.save("E:\chart.xlsx")



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3