Excel合并单元格-openpyxl
常用方法与属性
函数名&属性 | 含义 |
sheet.merge_cells() | 合并单元格 |
代码
from openpyxl import Workbook def merge_cell(): ''' 合并单元格 ''' wb = Workbook() ws = wb.active # 合并操作 A1:A5 合并一列 ws.merge_cells('A1:A5') # 合并操作 A1:A5 合并一行 ws.merge_cells('c1:h1') # 合并操作 A1:A5 合并多行,多列 ws.merge_cells('c4:h8') # 注意:从小到大,从上到下,从前到后 # 保存数据 wb.save('./create_data/17_合并单元格.xlsx') if __name__ =="__main__": merge_cell()
Excel增加图表-openpyxl
图表的作用:
1、可直观展示统计信息属性(时间性、数量性等),对知识挖掘和信息直观生动感受起关键作用的图形结构,是一种很好的将对象属性数据直观、形象地"可视化"的手段
2、合理的数据图表,会更直观的反映数据间的关系,比用数据和文字描述更清晰、更易懂
3、将工作表中的数据转换成图表呈现,可以帮助我们更好地了解数据见的比例关系及变化趋势,对研究对象做出合理的推断和预测
常用方法与属性
函数名&属性&类 | 含义 |
openpyxl.chart.LineChart() | 折线图 |
openpyxl.chart.BarChart() | 柱状图 |
openpyxl.chart.PieChart() | 饼状图 |
openpyxl.chart.Reference(workbook,min_col,min_row,max_col,max_row) | 设置图表数据的来源 workbook数据来源工作薄 min_col 开始列 min_row 开始行 max_col 结束列 max_row 结束行 |
chart.title | 设置图表名 |
chart.x_axis.title | 设置x轴名 |
chart.y_axis.title | 设置y轴名 |
chart.add_data(data) | 设置图表数据 |
sheet.add_chart(图表,位置) | 给excel增加图表 |
代码
折线图
def set_line(): from openpyxl import Workbook from datetime import date # 创建一个excel文件 wb = Workbook() # 激活工作簿 sh = wb.active # 设置数据 rows=[ ['时间','批次1','批次2','批次3'], [date(2030,1,1),40,30,25], [date(2030,1,2),40,25,30], [date(2030,1,3),50,30,45], [date(2030,1,4),30,25,40], [date(2030,1,5),25,35,35], [date(2030,1,6),20,40,35], ] # 把数据增加到工作薄里 for r in rows: sh.append(r) # 创建图表 from openpyxl.chart import LineChart,Reference chart = LineChart() # 给图表选择数据 data = Reference(sh,min_col=2,min_row=1,max_col=4,max_row=7) # 给图表增加数据 chart.add_data(data) # 设置图表的名称 chart.title = 'Line Chart' # 设置图表的x轴名 chart.x_axis.title = '时间' # 设置图表的y轴名 chart.y_axis.title = '数量' # 把图表增加到工作簿 sh.add_chart(chart,'A9') # 保存excel文件 wb.save('./create_data/18_折线图.xlsx') if __name__ =='__main__': set_line()
柱状图
def set_bar(): from openpyxl import Workbook # 创建一个excel文件 wb = Workbook() # 激活工作簿 sh = wb.active # 设置数据 rows =[ ('月份','批次1','批次2'), (7,10,30), (8,40,60), (9,60,70), (10,20,30), (11,50,40), (12,10,50), ] # 把数据增加到工作薄里 for r in rows: sh.append(r) # 创建图表 from openpyxl.chart import BarChart,Reference chart = BarChart() # 给图表选择数据 data = Reference(sh,min_col=2,max_col=3,min_row=2,max_row=7) cats = Reference(sh,min_col=1,max_col=1,min_row=2,max_row=7) # 给图表增加数据 chart.add_data(data) chart.set_categories(cats) # 设置图表的名称 chart.title = 'Bar Chart' # 设置图表的x轴名 chart.x_axis.title = '月' # 设置图表的y轴名 chart.y_axis.title = '数量' # 把图表增加到工作簿 sh.add_chart(chart) # 保存excel文件 wb.save('./create_data/19_柱状图.xlsx') if __name__ =='__main__': set_bar()
饼状图
from cProfile import label def set_pie(): from openpyxl import Workbook # 创建一个excel文件 wb = Workbook() # 激活工作簿 sh = wb.active # 设置数据 rows = [ ('名称','数值'), ('苹果',50), ('草莓',30), ('椰子',10), ('荔枝',40), ] # 把数据增加到工作薄里 for r in rows: sh.append(r) # 创建图表 from openpyxl.chart import PieChart,Reference chart = PieChart() # 给图表选择数据 data = Reference(sh,min_col=2,max_col=2,min_row=2,max_row=5) cate = Reference(sh,min_col=1,min_row=2,max_row=5) # 给图表增加数据 chart.add_data(data) chart.set_categories(cate) # 设置图表的名称 chart.title = 'Pie Chart' # 把图表增加到工作簿 sh.add_chart(chart) # 保存excel文件 wb.save('./create_data/20_饼状图.xlsx') if __name__ =='__main__': set_pie()
Excel合并工作薄-openpyxl
Python办公自动化【合并单元格-openpyxl、增加图表-openpyxl、合并工作薄-openpyxl、合并多个文件工作薄-openpyxl】(三)-全面详解(学习总结---从入门到深化)(下):https://developer.aliyun.com/article/1420327