Python自动化报表,python excel 报表
本文将介绍:
Xlwt常用功能
Xlrd常见功能
Xlutils常用函数
xlwt编写Excel时公式的应用
Xlwt写入特定目录(路径设置)
Xlwt Python语言,一个写Excel文件的扩展工具。您可以编写指定的表格和单元格。支持Excel 03版到Excel 2013版。使用时,请确保已安装python环境。
在xlrd Python语言中,一种用于读取Excel的扩展工具。您可以读取指定的表格和单元格。使用时,请确保已安装python环境。
注意:
Xlwt只能写到Excel。
Xrrd只能只读Excel。
此外,xlutils.copy可用于复制和编辑Excel。
1.python编写excel-xlwt常用函数
A.准备工作
Xlwt安装:在终端输入pip install xlwt或easy_install xlwt
xlwt包介绍:
Xlwt #写入
B.基础课程
向新工作簿添加工作表:创建一个新工作簿,然后向其中添加工作表。
F=xlwt。Workbook() #创建工作簿
sheet1=f.add_sheet(usheet1 ,cell_overwrite_ok=True)
#一个excel表格可以添加多个工作表
写入工作表:sheet.write函数可以传递三个参数。
I(参数1),j列(参数2),存储内容(参数3)
1.床单。编写(I,j,将此内容存储在第一行和第二列中,样式)
#该语句的作用是将第三个参数的内容存储在第I行第J列,第四个参数是样式(比如字体和背景),所以第四个参数可以省略。
合并单元格并写入内容:
1.床单。write _ merge (x,x m,y,y n,内容,样式)
#这个Y语句的意思是将[x:x m]行和[y:y n]列的矩阵合并成一个单元格。存储第五个参数的内容。同样,样式参数也可以省略。
最后,使用F. Save (demo )
可以将f保存到excel。
C.实战
我们可以先创建一个新的工作簿,然后给它添加两个工作表,然后检查效果。
#编码=utf-8
导入xlwt
F=xlwt。Workbook() #创建工作簿
1=f.add _ sheet (u 葡萄牙,cell_overwrite_ok=True)
2=f.add _ sheet (u 冷艳的帽子,cell_overwrite_ok=True)
f.save(xlwt_tutorial )
效果如下:在xlwt_tutorial表中找到两个工作表。
让我们在不传入样式参数的情况下开始写入工作表。
首先只使用写功能。
#编码=utf-8
导入xlwt
F=xlwt。Workbook() #创建工作簿
1=f.add _ sheet (u 葡萄牙,cell_overwrite_ok=True)
2=f.add _ sheet (u 冷艳的帽子,cell_overwrite_ok=True)
row=0
temp=[姓名,年龄,学校,专业]
对于位置,枚举中的v(临时):
sheet1.write(row,pos,v)
行=1
1.床单。write (row,0,u grapes )
sheet1.write(第1,18行)
1.床单。写(排,2,u‘北京电影学院’)
行=1
1.床单。write (row,0,u coconut )
sheet1.write(第1,20行)
1.床单。写(排,2,u‘帝王科技大学’)
f.save(xlwt_tutorial )
效果如下:我们建立了一个3行4列的表格。(写函数的行和列的值从0开始)
让我们使用write_merge函数来合并单元格并写入
在f.save之前添加一行代码
1.sheet _ write _ merge (1,2,3,3,u 汉语言文学)
效果如下:合并第4列第2-3行。
2.pythonxd读取excel —xlrd常用函数
A.准备工作
Xlrd安装:在终端输入pip install xlrd或easy_install xlrd。
xlrd包介绍:
Xlrd #读取
B.基础课实训
打开一个Excel,然后输出所有工作表的名称。
#编码=utf-8
导入xlrd
导入uniout
f=xlrd . open _ workbook(r xlwt _ tutorial )
打印工作表名称()
输出:[u 葡萄牙,U 冷艳的帽子]
获取表格中的所有工作表
对于范围内的I(len(f . sheet _ names())):
sheet 1=workbook . sheet _ by _ index(I)
获取工作表中的内容
f=xlrd . open _ workbook(r xlwt _ tutorial )
1=f.sheet _ by _ index (0) #打开第一张工作表
2=f.sheet _ by _ name (U 冷艳的帽子)#打开名称为冷艳的帽子的工作表。
#输出工作表的名称、行数和列数
打印sheet1.name,sheet1.nrows,sheet1.ncols
打印sheet2.name,sheet2.nrows,sheet2.ncols
输出是:
小桃3 4
冷艳的帽子0 0。
Sheet1.row _ values (1) #获取第二行的内容
Sheet1.col _ values (2) #获取第三列内容
输出是:
【U 葡萄,18.0,U 北京电影学院,U 汉语言文学】
【U 学校、U 北京电影学院、U 英皇科技大学】。
#获取单元格内容
打印sheet1.cell(1,0)。价值
#获取单元格内容的数据类型
打印sheet1.cell(1,1)。代替
#ctype : 0空,1字符串,2数字,3日期,4布尔值,5错误
输出是:
葡萄
2
3.xlutils的常用函数
A.准备工作
Xtills安装:在终端输入pip install xlutils或easy_install xlutils。
xlutils包介绍:
导入xlutils
B.复制B.xlutils中的函数
我们可能会遇到一个问题,想要编辑一个存储的Excel。
但是,xlrd是只读模式,不能写入。
Xlwt是只写模式,所以不能读入Excel文件进行编辑。
我们可以使用xlrd打开一个文档,然后使用xlutils中的复制功能复制文档,然后进行编辑。
导入xlrd
从xlutils.copy导入副本
f=xlrd . open _ workbook(r xlwt _ tutorial )
Wb=copy(f) #将f复制到Wb
1=wb.get _ sheet (0) #打开工作表
打印工作表1 .名称
sheet1.write(3,0,更改)
wb.save(xlwt_tutorial )
输出是:
葡萄
的输出表已更改。
PS:可以看到第二行第四列和第三行第四列的合并网格在复制的时候已经被破坏了。
4.4.xlwt编写Excel时公式的应用
让我们用xlwt写一个表格。
#编码=utf-8
导入xlwt
F=xlwt。Workbook() #创建工作簿
1=f.add _ sheet (u 分数统计,cell_overwrite_ok=True)
mdict={monkey:{ 写作:80,阅读:60,说话:70,倾听:60},
葡萄:{ 写作:100,阅读:80,说:70,听:60}}
1.床单。write (0,0,u 分数统计)
1.床单。write (1,0,u 书法分数)
1.床单。写(2,0,u 阅读分数)
1.床单。写(3,0,u 语音得分)
1.床单。写(4,0,u 听力得分)
temp=[写,读,说,听]
对于pos,枚举中的名称(mdict):
sheet1.write(0,位置1,名称)
对于枚举中的p,v(临时):
sheet1.write(第1页,位置1,mdict[名称][v])
F.save(“分数统计”)
以下列方式打开表格:
我们现在要做的是统计葡萄和猴子的总分:
在f.save之前添加代码:
1.床单。write (5,0,u 总分统计)
对于范围内的I(len(mdict)):
forstr=chr(65 I 1) 2 chr(65 I 1) 3 chr(65 I 1) 4 chr(65 I 1) 5
打印福斯特
sheet1.write(5,i 1,xlwt。公式(forstr))
输出是:
B2 B3 B4 B5
C2 C3 C4 C5
以下列方式打开表格:
5.xlwt写入特定目录(路径设置)
由于代码分层,代码整体框架美观。
我们需要将文件写入特定的目录。
但是,xlwt中没有直接写入特定目录的函数。
因此,shutil.move函数用于将文件移动到特定目录:
#编码=utf-8
导入xlwt
导入操作系统
导入技能
路径=./sheet/
IsExists=os.path.exists(path) #确定目录是否存在。
如果不是isExists: #如果目录不存在,则创建一个新目录。
os.makedirs(路径)
F=xlwt。Workbook() #创建工作簿
1=f.add _ sheet (u 分数统计,cell_overwrite_ok=True)
mdict={monkey:{ 写作:80,阅读:60,说话:70,倾听:60},
葡萄:{ 写作:100,阅读:80,说:70,听:60}}
1.床单。write (0,0,u 分数统计)
1.床单。write (1,0,u 书法分数)
1.床单。写(2,0,u 阅读分数)
1.床单。写(3,0,u 语音得分)
1.床单。写(4,0,u 听力得分)
temp=[写,读,说,听]
对于pos,枚举中的名称(mdict):
sheet1.write(0,位置1,名称)
对于枚举中的p,v(临时):
sheet1.write(第1页,位置1,mdict[名称][v])
1.床单。write (5,0,u 总分统计)
对于范围内的I(len(mdict)):
forstr=chr(65 I 1) 2 chr(65 I 1) 3 chr(65 I 1) 4 chr(65 I 1) 5
打印福斯特
sheet1.write(5,i 1,xlwt。公式(forstr))
F.save(“分数统计”)
Shuttil.move (U 分数统计,路径)
效果图:
摘要
这就是python在本文中对报告自动化的详细解释。希望对你有帮助。感兴趣的朋友可以继续参考这个网站:
如有不足之处,欢迎留言指出。
如果你对本文有什么疑问或者想说什么,请点击留言回复,成千上万的网友会为你解答!
郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。