数据分析进阶-Excel自动化工具包openpyxl的基础使用

安装工具包

pip install openpyxl

工作簿的使用

注意读取的EXCEL文件只能是xlsx后缀的噢~

# 创建工作簿
wb = openpyxl.Workbook()
wb.save('demo.xlsx')  # 在源文件修改后也可以作为另存为的选项
# 打开工作簿
wb = openpyxl.load_workbook('test.xlsx', data_only=True) # 读取公式设置

# 查看sheet名
print(wb.sheetnames)

# 获取sheet的两种方式
ws_1 = wb['sheet1'] # 名字
ws_1 = wb.worksheets[0] # 索引

工作表的使用

# 获取工作表名称
print(ws_1.title)

# 修改工作表名称
ws_1.title = 'sheet2'

# 删除工作表
wb.remove(wb['sheet1'])

# 复制工作表
copy_sheet = wb.copy_worksheet(wb['产品功能_H'])

# 创建工作表
wb.create_sheet('sheet3')

读写数据

属性 说明
row 单元格所在行
column 单元格所在列
value 单元格的值
coordinate 单元格的坐标
# 获取A1的值
ws_1['A1'].value
ws_1.cell(row=1,column=1).value
ws_3.cell(1,1).value

# 获取区域
ws_1['A1:B2']
for x in ws_1['A1:B2']:
    for x in x:
        print(x.value)
# 最大行
ws_1.max_row

# 最大列
ws_1.max_column

# 获取单元格行列
ws_1['A1'].row
ws_1['A1'].column
# 写入数据(单个单元格)
wb_1.cell(15,15,value='test')
wb_1['AA']='test'

# 在最后一列写入数据
wb_1.append([1,2,3,4])

# 写入数据(区域)
for x in wb_1['A1:E4']:
    for x1 in x:
        x1.value = 1
# 插入是向前
# 删除是往后
wb_1.insert_cols(idx=2,amount=5)
wb_1.insert_rows(idx=2,amount=5)
wb_1.delete_cols(idx=2,amount=5)
wb_1.delete_rows(idx=2,amount=5)
# 合并与取消合并单元格
wb_1.merge_cells('B3:F5')   # 合并
wb_1.unmerge_cells('B3:F5') # 取消合并
# 字体设置
font = openpyxl.styles.Font(name=u'微软雅黑', bold=True, italic=True, size=9)
wb_1['A1'].font = font

图表操作

# 柱状图
# 新建一个柱状图
chart = openpyxl.chart.BarChart()
# 设定数据引用范围
data = openpyxl.chart.Reference(wb_1,min_row=1,max_row=5,min_col=2,max_col=3)
# X轴项目名称
project= openpyxl.chart.Reference(wb_1,min_row=2,max_row=5,min_col=1)
# 给柱状图添加数据,数据源中有标题,因为数据中有标题行,这里为True
chart.add_data(data,titles_from_data=True)
# 设定X轴的项目
chart.set_categories(project)
wb_1.add_chart(chart,"F1")
上一篇:vue3 二次封装element-plus 表格组件


下一篇:基于element-ui与vue结合带有编辑、删除、搜索、添加功能的表格与分页的静态页面