1、

# 方法1
# openpyxl模块中的Comment()函数,给单元格添加批注

import pandas as pd
from openpyxl import Workbook
from openpyxl.comments import Comment# 方法1
# openpyxl模块中的Comment()函数,给单元格添加批注wb = Workbook()
ws = wb.active# 逗号前表示具体批注内容
# 逗号后表示批注者
comment = Comment("这是一条新建的批注20220122", "jack")# 用来设置批注框的宽和高
comment.width = 300
comment.height = 100# 给C6单元格添加批注
ws["C6"].comment = comment
wb.save("C:/Users/Administrator/Desktop/999/202201221055.xlsx")

2、

# python代码中的openpyxl模块,设置保护工作表

import pandas as pd
from openpyxl import Workbook
from openpyxl.comments import Comment# python代码中的openpyxl模块,设置保护工作表wb = Workbook()
ws = wb.activews.protection.password = '123456'
wb.save("C:/Users/Administrator/Desktop/999/202201221155.xlsx")

3、

# python代码中的openpyxl模块,设置保护工作簿

import pandas as pd
from openpyxl import Workbook
from openpyxl.comments import Comment# python代码中的openpyxl模块,设置保护工作簿wb = Workbook()
ws = wb.activewb.security.workbookPassword = '123456'
wb.security.lockStructure = True
wb.save("C:/Users/Administrator/Desktop/999/202201221414.xlsx")

4、

# 设置保护工作表 和 设置保护工作簿,同时做保护。

import pandas as pd
from openpyxl import Workbook
from openpyxl.comments import Comment# 设置保护工作表 和 设置保护工作簿,同时做保护。wb = Workbook()
ws = wb.active# 设置保护工作表
ws.protection.password = '123456'
# 设置保护工作簿
wb.security.workbookPassword = '123456'
wb.security.lockStructure = True
wb.save("C:/Users/Administrator/Desktop/999/202201221423.xlsx")

5、

#  冻结窗格,冻结首行,冻结首列
# 要实现冻结前两行和前两列的效果

import pandas as pd
from openpyxl import Workbook
from openpyxl.comments import Comment#  冻结窗格,冻结首行,冻结首列
# 要实现冻结前两行和前两列的效果wb = Workbook()
ws = wb.active# 如果要实现冻结首行,则只需要把上面冻结窗格代码等于A2。
ws.freeze_panes = 'A2'
wb.save("C:/Users/Administrator/Desktop/999/202201221522.xlsx")
# 冻结首列,则只需要把上面冻结窗格代码等于B1。
ws.freeze_panes = 'B1'
wb.save("C:/Users/Administrator/Desktop/999/202201221609.xlsx")
# 在Python中,要实现冻结前两行和前两列的效果,可以使用如下代码。
ws.freeze_panes = 'C3'
wb.save("C:/Users/Administrator/Desktop/999/202201221521.xlsx")

6、

# openpyxl 创建一个折线图

import pandas as pd
from openpyxl import Workbook
from openpyxl.chart import Reference, LineChart# openpyxl 创建一个折线图# 创建一个工作簿
wb = Workbook()
ws = wb.activerows = [["月份", "注册人数"],["1月", 866],["2月", 2335],["3月", 5710],["4月", 6482],["5月", 6120],["6月", 1605],["7月", 3813],["8月", 4428],["9月", 4631],]for row in rows:ws.append(row)#   建立一个空折线图坐标系
c1 = LineChart()
# 向空坐标系中添加数据
data = Reference(ws, min_col=2, max_col=2, min_row=1, max_row=10)
# titles_from_data=True 的作用是使表头不计入数据
c1.add_data(data, titles_from_data=True)# 对图表元素进行设置
c1.title = "1-9月注册人数"
c1.style = 1  # 图表样式类型(1-48)
c1.y_axis.title = "注册人数"
c1.x_axis.title = "月份"# 将图标添加到工作簿中A8单元格位置
ws.add_chart(c1, "D1")wb.save("C:/Users/Administrator/Desktop/999/202201242006.xlsx")

6.1、

echarts 折线图 轴点从y轴开始_python学习笔记 - 绘制折线图与条形图_Strive追逐者的博客-CSDN博客https://blog.csdn.net/weixin_29229261/article/details/112419027

7、openpyxl 创建一个柱状图

import pandas as pd
from openpyxl import Workbook
from openpyxl.chart import Reference, BarChart# openpyxl 创建一个柱状图# 创建一个工作簿
wb = Workbook()
ws = wb.activerows = [["月份", "注册人数"],["1月", 866],["2月", 2335],["3月", 5710],["4月", 6482],["5月", 6120],["6月", 1605],["7月", 3813],["8月", 4428],["9月", 4631],]for row in rows:ws.append(row)#   建立一个创建一个柱状图坐标系
c1 = BarChart()
# 向空坐标系中添加数据
data = Reference(ws, min_col=2, max_col=2, min_row=1, max_row=10)
# titles_from_data=True 的作用是使表头不计入数据
c1.add_data(data, titles_from_data=True)# 对图表元素进行设置
c1.title = "1-9月注册人数"
c1.style = 1  # 图表样式类型(1-48)
c1.y_axis.title = "注册人数"
c1.x_axis.title = "月份"# 将图标添加到工作簿中A8单元格位置
ws.add_chart(c1, "D1")wb.save("C:/Users/Administrator/Desktop/999/202201251139.xlsx")

8、# openpyxl 创建一个面积图

import pandas as pd
from openpyxl import Workbook
from openpyxl.chart import Reference, AreaChart# openpyxl 创建一个面积图# 创建一个工作簿
wb = Workbook()
ws = wb.activerows = [["月份", "注册人数"],["1月", 866],["2月", 2335],["3月", 5710],["4月", 6482],["5月", 6120],["6月", 1605],["7月", 3813],["8月", 4428],["9月", 4631],]for row in rows:ws.append(row)#   创建一个面积图坐标系
c1 = AreaChart()
# 向空坐标系中添加数据
data = Reference(ws, min_col=2, max_col=2, min_row=1, max_row=10)
# titles_from_data=True 的作用是使表头不计入数据
c1.add_data(data, titles_from_data=True)# 对图表元素进行设置
c1.title = "1-9月注册人数"
c1.style = 1  # 图表样式类型(1-48)
c1.y_axis.title = "注册人数"
c1.x_axis.title = "月份"# 将图标添加到工作簿中A8单元格位置
ws.add_chart(c1, "D1")wb.save("C:/Users/Administrator/Desktop/999/202201251524.xlsx")

9、# openpyxl 创建一个散点图 (还没搞定)

10、

10.1、 openpyxl 创建一个气泡图

10.2、 为什么必须加上区间(列)?

import pandas as pd
from openpyxl import Workbook
from openpyxl.chart import Reference, BubbleChart, Series# openpyxl 创建一个气泡图# 创建一个工作簿
wb = Workbook()
ws = wb.active# 为什么必须加上区间
rows = [["月份", "注册人数", "区间"],["1月", 866, 10],["2月", 2335, 20],["3月", 5710, 50],["4月", 6482, 60],["5月", 6120, 60],["6月", 1605, 10],["7月", 3813, 30],["8月", 4428, 40],["9月", 4631, 40],]for row in rows:ws.append(row)#   创建一个气泡图坐标系
c1 = BubbleChart()
# 向空坐标系中添加数据
xvalues = Reference(ws, min_col=1, min_row=1, max_row=10)  # x值
yvalues = Reference(ws, min_col=2, min_row=2, max_row=10)  # y值
size = Reference(ws, min_col=3, min_row=1, max_row=10)  # size 值
series = Series(values=yvalues, xvalues=xvalues, zvalues=size)
c1.series.append(series)# 对图表元素进行设置
c1.title = "1-9月注册人数"
c1.style = 13  # 图表样式类型(1-48)
c1.y_axis.title = "注册人数"
c1.x_axis.title = "月份"# 将图标添加到工作簿中A8单元格位置
ws.add_chart(c1, "e1")wb.save("C:/Users/Administrator/Desktop/999/202201251619.xlsx")

11、

11.1、图表布局设置

11.2、对图表进行布局设置用到下面的一段代码

chart1.layout = Layout(ManualLayout(x=0.2, y=0.1, h=0.6, w=0.8))

from openpyxl import Workbook
from openpyxl.chart.layout import Layout, ManualLayout
from openpyxl.chart.legend import Legend
from openpyxl.chart import BarChart, Reference, Series
from copy import deepcopy# 图表布局设置wb = Workbook()  # 建立工作表
ws = wb.active  # 激活工作表
for i in range(10):ws.append([i])values = Reference(ws, min_col=1, min_row=1, max_col=1, max_row=10)  # 数据引用
chart = BarChart()  # 建立坐标系
chart.add_data(values)  # 添加数据
ws.add_chart(chart, "C2")  # 添加图表chart1 = deepcopy(chart)
# 对图表进行布局设置用到下面的一段代码
chart1.layout = Layout(ManualLayout(x=0.2, y=0.1, h=0.6, w=0.8))
#  图表标题放在那个位置
chart1.legend = Legend(legendPos='b')
ws.add_chart(chart1, "C18")  # 添加图表wb.save("C:/Users/Administrator/Desktop/999/202201251710.xlsx")

12、 如何将图片插入excel中

from openpyxl import Workbook
from openpyxl.drawing.image import Image# 如何将图片插入excel中
wb = Workbook()
ws = wb.active# 指明要导入图片的文件路径
img = Image("C:/Users/Administrator/Desktop/999/2020.jpg")
# 将图片添加到ws中
ws.add_image(img, "c3")# 对图片的高和宽进行设置newsize = (190, 190)
img.width, img.height = newsize
wb.save("C:/Users/Administrator/Desktop/999/202201251833.xlsx")

13、  python纵向拼接excel,excel字段相同保持相同

13.1、用for循环拼接,代码中 定义一个空的二维数组,也是可以的

           df_o = pd.DataFrame()
import pandas as pd
import osprint(os.getcwd())# python纵向拼接excel,excel字段相同保持相同
# 查看文件下的excel
name_list = os.listdir("C:/Users/Administrator/Desktop/999/777/")
# print(name_list)
#   创建一个相同结构的空二维数组DataFrame
df_o = pd.DataFrame({'日期': [], '销量': []})
# print(df_o)
# 遍历读取每一个文件
for i in name_list:df = pd.read_excel("C:/Users/Administrator/Desktop/999/777/"+i)pd_v = pd.concat([df_o, df])df_o = pd_v# print(df_o)print(df_o)

13.2、单独读取文件拼接

import pandas as pd# 读取两个excel文件
df1 = pd.read_excel("C:/Users/Administrator/Desktop/999/777/3月绩效_123.xlsx")
df2 = pd.read_excel("C:/Users/Administrator/Desktop/999/777/3月绩效_456.xlsx")# 当两个文件的列表字段一样时,可以用concat函数直接合同(显示一列,列表字段)
#  可以多个excel,一起纵向拼接
pd_v = pd.concat([df2, df1])
print(pd_v)

14、

python读取excel,按excel中的时间,再重新生产新的excel
   按月的维度,把exce才分成多份。

import pandas as pd
import osprint(os.getcwd())# python读取excel,按excel中的时间,再重新生产新的excel
# 按月的维度,把exce才分成多份。
pd_re = pd.read_excel("C:/Users/Administrator/Desktop/999/202201271033.xlsx")
# print(pd_re)
pd_df = pd.DataFrame(pd_re)
# print(pd_df)
pd_df['月份'] = pd_df['日期'].apply(lambda x: x.month)
# print(pd_df)后#  调用unique()函数是去重的意思。
for m in pd_df['月份'].unique():# 讲特定月份的值的数据筛选出来df_month = pd_df[pd_df['月份'] == m]# print(df_month)# 按月筛选出的数据进行保存df_month.to_excel("C:/Users/Administrator/Desktop/999/"+str(m)+"月销售日报_拆分.xlsx")

15、

16、

17、

18、

19、

20、

21、

22、

23、

24、

25、

26、

27、

28、

29、

30、

31、

32、

33、

34、

35、

36、

37、

38、

39、

40、

41、

42、

43、

44、

45、

46、

47、

48、

49、

50、

51、

52、

53、

54、

55、

56、

57、

58、

59、

60、

61、

62、

63、

64、

65、

66、

67、

68、

69、

70、

71、

72、

73、

74、

75、

76、

77、

78、

79、

80、

python 对excel的函数操作_自动化报表(3)相关推荐

  1. python 对excel的函数操作(2)

    1.用pandas的二维数组做除法运算,替换inf,过滤inf等操作 import pandas as pd import numpy as np# 用pandas科学数据库操作excel # 用pa ...

  2. 利用python对excel文件进行操作_数据处理-对Excel文件读取和操作和存储(python版)...

    一:利用python读取Excel中.xls文件中所有数据 #encoding=utf-8 import xlrd import xlwt from xlwt import * fileName=&q ...

  3. python char 相等_用 Python 实现 Excel文本函数

    用 Python 实现 Excel文本函数 Excel 是非常强大的电子表格软件,大家日常经常用 Excel 处理成绩.师生名单.分析数据等,对 Excel 的函数比较了解,通过用 Python 实现 ...

  4. 用Python完成 “Excel合并(拆分)” 的各种自动化操作!

    一.概述 其实Excel合并这个需求,应该是一个极为普遍的需求了.今天我们就利用Python完成"Excel合并(拆分)" 操作,具体如下: ① 将多个Excel表,合并到一个Ex ...

  5. python写表格_使用Python对Excel进行读写操作

    学习Python的过程中,我们会遇到Excel的读写问题.这时,我们可以使用xlwt模块将数据写入Excel表格中,使用xlrd模块从Excel中读取数据.下面我们介绍如何实现使用Python对Exc ...

  6. python对excel进行读写操作

    python对excel进行读写操作 欢迎使用Markdown编辑器 一.安装库 1.安装xlrd模块 2.安装xlwt模块 2.安装openpyxl模块 补充(多个python版本) 二.使用介绍 ...

  7. Python控制Excel表格的操作以及问题处理

    Python控制Excel表格(openpyxl) Python创建的sheet表并操作(因为新建表所以这里只有存值操作): ​ 1.引入: from openpyxl import Workbook ...

  8. Python实现EXCEL的常规操作,一文涵盖10个方面!

    前言: EXCEL是日常办公最常用的软件,然而遇到数据量特别大(超过10W条)或者需要很复杂的公式时就显得没那么方便了(卡卡卡) ,所以还是那句话, "Life is short, you ...

  9. excel调用python编程-使用Python对Excel进行读写操作

    学习Python的过程中,我们会遇到Excel的读写问题.这时,我们可以使用xlwt模块将数据写入Excel表格中,使用xlrd模块从Excel中读取数据.下面我们介绍如何实现使用Python对Exc ...

最新文章

  1. 图片资源 php,php图片转为资源数据
  2. Eclipse Modeling Framework, 2nd Edition. (EMF)学习笔记(一)——EMF介绍
  3. 大工17春计算机文化基础在线测试3,大工17春《计算机文化基础》在线测试3答案...
  4. boost::geometry模块实现显示不同类型的点的测试程序
  5. JDK 8 新特性 之 函数接口
  6. Solidity 简易教程0x001
  7. Mac OSX 命令行知识
  8. watch监控,对比新值和旧值做出相应判断
  9. java xfire指定参数名_Java如何获取方法参数具体名称?这是个好问题!
  10. 聊聊 归一化和标准化
  11. 深度学习(tensorflow+keras)性能问题
  12. Javascript第五章innerHTML/innerText/创建新节点元素添加内容第八课
  13. 【智慧旅游】以阿里飞猪为例浅谈产品升级策略
  14. 苹果7支持快充吗_苹果支持20W快充了,什么20W还叫快充,国内都到120W了
  15. #C语言[Basic I/O] A-B
  16. ubuntu上网显示找不到服务器,解决ubuntu中firefox浏览器总是提示找不到服务器的问题...
  17. 斯考特·杨(Scott Young)快速学习方法
  18. 按键清零是0xff吗c语言,msp40_c语言.docx
  19. Ceph学习——Librbd块存储库与RBD读写流程源码分析
  20. oracle10g安装未知错误

热门文章

  1. VisionPro基本使用
  2. 防沉迷系统?游戏运营商笑了!
  3. 计算机系统基本基本知识的说课稿,《计算机系统及工作原理》说课稿
  4. k8s 二进制集群部署
  5. unity3d实现飞行模拟
  6. 新CSDN文章转成PDF、打印(去空白)
  7. java8 GC日志分析
  8. Latex大括号及多行公式
  9. Java 多线程平行计算总结
  10. 重磅!达摩院发布2021十大科技趋势