100份Excel分别插入图片,数据柱状图,折线图,一个一个表来做,太累。坐下来喝杯让Python+Excel来帮你完成。实例代码,小伙伴们根据自己实际情况,稍做修改就可通用。




Python 柱状图 kmeans python柱状图和折线图_python折线图

N多份Excel文档



这里用到两个模块,openpyxl,glob

首先安装模块: pip install openpyx




Python 柱状图 kmeans python柱状图和折线图_python 柱状图_02

运行-CMD命令进入安装



打开编译器,我用的是Sublime因体积小,运行快。请原谅小编还用着10年前的老酷睿。




Python 柱状图 kmeans python柱状图和折线图_python折线图_03

sublime




Python 柱状图 kmeans python柱状图和折线图_python折线图_04


可以开始啦~~~~~~~~

import glob

import os

from openpyxl import load_workbook

from openpyxl.drawing.image import Image #别错了最后一个Image的I要大写

from openpyxl.chart import LineChart , Reference

from openpyxl.chart import BarChart , Reference


Python 柱状图 kmeans python柱状图和折线图_Python 柱状图 kmeans_05

导入库


#遍历当前文件夹内所有excel文件

excel_file = glob.glob('**/*.xlsx',recursive=True)

#对每个Excel循环操作

for i in excel_file:

wb = load_workbook(filename=i)#为每个Excel循环打开

sheet = wb.active#Excel当前活动的sheet

pic = Image('C:甥敳獲PublicPicturesSample PicturesChrysanthemum.jpg')#图片的路径位置,按实际路径修改就行。这里示例只是放一张图片。

pic.height = 100 #图片高度

pic.width = 100 #图片宽度

sheet.add_image(pic,'L4')#图片放在L4单元格,可根据实际情况放在不同的单元格


Python 柱状图 kmeans python柱状图和折线图_Python 柱状图 kmeans_06

代码1


chart = BarChart() #柱状图

#数据的引用范围

data = Reference(worksheet=sheet,min_row=2 , max_row=3 , min_col=1 , max_col=13 )

#X轴的项目名称

categories = Reference(sheet,min_row=1 , min_col=2 , max_col=13)

#标题头及设定X轴的类目

chart.add_data(data,from_rows=True, titles_from_data=True)

chart.set_categories(categories)

sheet.add_chart(chart,"A14")#将柱状图放在A14单元格


Python 柱状图 kmeans python柱状图和折线图_Python 柱状图 kmeans_07

代码2


chart = LineChart() #折线图

data = Reference(worksheet=sheet,min_row=2 , max_row=3 , min_col=1 , max_col=13)

categories = Reference(sheet,min_row=1 , min_col=2 , max_col=13)

chart.add_data(data, from_rows=True, titles_from_data=True)

chart.set_categories(categories)

sheet.add_chart(chart,"I14")


Python 柱状图 kmeans python柱状图和折线图_python折线图_08

代码3


折线图和柱状图大同小异,跟据需求选择即可。

from openpyxl.chart import LineChart , Reference 为折线图。

from openpyxl.chart import BarChart , Reference为柱状图。

折线图和柱状图比较常用所以以它们为例,其它的图表其实也差不多,伙伴们可以去官网上看别的图表类型是导入那个,然后代入即可。

以上就基本上完成了。别忘记保存文件哦,代码如下。

wb.save(filename=i)

最后提示一下,完成了多少个文件。这样人机交互人性化些!

print(f"DONE!"+i)


Python 柱状图 kmeans python柱状图和折线图_python 折线图_09

代码4


运行代码~


Python 柱状图 kmeans python柱状图和折线图_python 折线图_10


看看效果吧。这是原始表格。


Python 柱状图 kmeans python柱状图和折线图_python 柱状图_11

原始表格


Python 柱状图 kmeans python柱状图和折线图_Python 柱状图 kmeans_12

程序运行后的表格,这是100个表中的一个


这是如果手动一个一个插入100个表格需要花大半天时间,而几行代码只需要10来秒就完成的表格。难道不香吗。给小编鼓励一下,点个赞吧!

小编水平有限,欢迎留言指正,或者有什么问都可以留言哦!有兴趣的伙伴们可以自己尝试去做做。刚好对此有需求的伙伴更是可以直接拿来用。谢谢大家!!

最后来一张完整的代码图。


Python 柱状图 kmeans python柱状图和折线图_Python 柱状图 kmeans_13