1、xlsxwriter模块介绍:主要用来生成excel表格,插入数据、插入图标等表格操作

如下代码:目的是往demo01.xlsx插入数据和图片

# 导入xlsxwriter模块:主要用来修改表格的数据
import xlsxwriter
target_xlsx="D:/360Downloads/Software/py/demo01.xlsx"
# 创建工作簿
workbook=xlsxwriter.Workbook(target_xlsx)
# 创建工作表
worksheet=workbook.add_worksheet()
# 设置工作簿的格式
font=workbook.add_format({"font_size": 14})
# 设置工作表的列宽
worksheet.set_column=("A:A",20)
# 写值
worksheet.write(0,0,"Hello",font)
# 写值
worksheet.write(0,1,"World",font)
# 写值
worksheet.write(2,0, "",font)
# 写值
worksheet.write(3, 0, "123.456", font)
# 插入一张照片
worksheet.insert_image("B5", "D:/360Downloads/1.jpg")
# 关闭工作簿
workbook.close()

结果:

或者如下代码:

# 导入xlsxwriter模块
import xlsxwriter
# 目标文件
target_xlsx="D:/360Downloads/test01.xlsx"
# 创建工作簿
workbook=xlsxwriter.Workbook(target_xlsx)
# 创建名叫person的工作表
worksheet=workbook.add_worksheet("person")
# 设置工作簿的格式
font=workbook.add_format({"font_size": 14})
# 设置工作表的列宽
worksheet.set_column=("A:A",20)
# 设置表头
headings=["number","name","age"]
# 自己造的数据
data=[
[1,2,3],
["Mr_choa","Mr_lai","Mr_z"],
[24,14,48]
]
# 表头按行写入数据
worksheet.write_row(0,0,headings)
#造的数据按列写入数据
worksheet.write_column("A2",data[0])
worksheet.write_column("B2",data[1])
worksheet.write_column('C2',data[2])
# 关闭文件流,要注意关闭Excel表格,不然报错
workbook.close()

打开test01.xlsx,结果:

运行代码,如果有xlsxwriter.exceptions.FileCreateError: [Errno 13] Permission denied: 'D:/360Downloads/test01.xlsx'错误,关闭test01.xlsx表格再运行就不会报错。

在xlsxwriter模块中设置单元格的格式:

无论是

workfomat=workbook.add_format(
{
# 字体加粗
'bold':True,
# 单元格边框宽度
'border':1,
# 字体对齐方式
'align':'center',
# 单元格背景颜色
'fg_color':'#F4B084',
# 字体大小
'font_size':14
}
)

或是通过创建fomat对象:

# 创建一个workfomat对象
workfomat=workbook.add_format()
# 字体加粗
workfomat.set_bold(True)
# 设置边框宽度
workfomat.set_border(1)
# 对齐方式:中心对齐
workfomat.set_align('center')
# 设置背景颜色
workfomat.fg_color('blue')
# 设置背景颜色
workfomat.bg_color('red')

2、xlrd模块介绍:xlrd就是读Excel表

如下代码:目的在读取两个源文件的数据,再写入另外一个表格中

# 导入xlrd模块:读取源文件的数据
import xlrd
# 导入xlsxwriter模块:修改表格的数据
import xlsxwriter
# 源文件
source_xls = ["D:/360Downloads/1.xlsx", "D:/360Downloads/2.xlsx"]
# 目标文件
target_xls = "D:/360Downloads/3.xlsx"
# 从源文件中读取数据
data = []
for i in source_xls:
wb = xlrd.open_workbook(i)
for sheet in wb.sheets():
for rownum in range(sheet.nrows):
data.append(sheet.row_values(rownum))
print(data)
# 创建工作簿写入数据
workbook = xlsxwriter.Workbook(target_xls)
# 创建工作表
worksheet = workbook.add_worksheet()
# 设置工作簿的格式
font = workbook.add_format({"font_size":14})
# 写入数据,遍历工作表的数据个数
for i in range(len(data)):
# 遍历工作表数据的长度
for j in range(len(data[i])):
# 写入数据
worksheet.write(i, j, data[i][j], font)
# 添加数据
worksheet.write(4,0,"haha",font)
# 关闭文件流,要注意关闭Excel表格,不然报错
workbook.close()

源文件1.xlsx:

源文件2.xlsx:

结果得到3.xlsx:

3、在excel中插入折线图

在表格中插入数据,并且插入折线图。

# 导入xlsxwriter模块
import xlsxwriter
# 目标文件
target_xlsx="D:/360Downloads/test01.xlsx"
# 创建工作簿
workbook=xlsxwriter.Workbook(target_xlsx)
# 创建名叫person的工作表
worksheet=workbook.add_worksheet("person")
# 设置工作簿的格式
font=workbook.add_format({"font_size": 14})
# 设置工作表的列宽
worksheet.set_column=("A:A",20)
# 设置表头
headings=["name","testA","testB"]
# 自己造的数据
data=[
["Mr_choa","Mr_lai","Mr_z",'Mr_r',"Mr_d"],
[90,80,70,87,56],
[100,50,40,45,68]
]
# 表头按行写入数据
worksheet.write_row(0,0,headings)
#造的数据按列写入数据
worksheet.write_column("A2",data[0])
worksheet.write_column("B2",data[1])
worksheet.write_column('C2',data[2])
# 创建折线图
workchart=workbook.add_chart({'type':'line'})
# 给图表设置格式
workchart.add_series(
{
# 折线名称
'name':'=person!$B$1',
'categories':'=person!$A$2:$A$6',
# 折线的值
'values':'=person!$B$2:$B$6',
# 折线颜色
'line':{'color':'red'}
}
)
workchart.add_series(
{
# 折线名称
'name':'=person!$C$1',
'categories':'=person!$A$2:$A$6',
# 折线的值
'values':'=person!$C$2:$C$6',
# 折线的颜色
'line':{'color':'blue'}
}
)
# 设置图表的表头
workchart.set_title({'name':'测试'})
workchart.set_x_axis({'name':'x轴'})
workchart.set_y_axis({'name':'y轴'})
# 设置图表样式类型
workchart.set_style(1)
# 设置图表的位置
worksheet.insert_chart('A10',workchart,{'x_offset':25,'y_offset':10})
# 关闭文件流,要注意关闭Excel表格,不然报错
workbook.close()

结果:

4、图表的type

area:面积图

bar:直方图

column:柱形图

line:折线图

pie:饼图

doughnut:环形图

scatter:散点图

stock:股票趋势图

rader:雷达图

5、表格的一些操作(合并单元格)

#合并单元格
worksheet.merge_range('D1:D7','合并单元格')       

使用xlsxwriter模块和xlrd模块操作Excel表格的更多相关文章

  1. xlrd》操作excel 出现的问题:File "D:\python37\lib\site-packages\xlrd\formula.py", line 1150, in evaluate_name_formula assert len(tgtobj.stack) == 1

    xlrd>操作excel  出现的问题 报错如下: D:\python37\python.exe D:/testWang/waimai/tools/get_excelData.py*** for ...

  2. 【转】python操作excel表格(xlrd/xlwt)

    [转]python操作excel表格(xlrd/xlwt) 最近遇到一个情景,就是定期生成并发送服务器使用情况报表,按照不同维度统计,涉及python对excel的操作,上网搜罗了一番,大多大同小异, ...

  3. 转载:python操作excel表格(xlrd/xlwt)

    python操作excel表格(xlrd/xlwt)   最近遇到一个情景,就是定期生成并发送服务器使用情况报表,按照不同维度统计,涉及python对excel的操作,上网搜罗了一番,大多大同小异,而 ...

  4. 使用python操作excel表格

    首先 pip install xlrd  安装相关模块 其次:使用方法: 1 导入模块 import xlrd 2 打开excel文件读取数据 worksheet=xlrd.open_workbook ...

  5. python - 操作excel表格

    说明:由于公司oa暂缺,人事妹子在做考勤的时候,需要通过几个excel表格去交叉比对员工是否有旷工或迟到,工作量大而且容易出错. 这时候it屌丝的机会来啦,花了一天时间给妹子撸了一个自动化脚本. 1. ...

  6. qt 操作excel表格

     自己编写的一个Qt C++类,用于操作excel表格,在Qt中操作excel需在.pro中增加CONFIG+=qaxcontainer配置. 1.打开Excel:objExcel = new QAx ...

  7. Python 利用Python操作excel表格之openyxl介绍Part2

    利用Python操作excel表格之openyxl介绍 by:授客 QQ:1033553122 欢迎加入全国软件测试交流qq群(群号:7156436) ## 绘图 c = LineChart()    ...

  8. Python 利用Python操作excel表格之openyxl介绍Part1

    利用Python操作excel表格之openyxl介绍 by:授客 QQ:1033553122 欢迎加入全国软件测试交流qq群(群号:7156436),免费获取以下性能监控工具(类似Nmon精简版) ...

  9. Python 利用Python操作excel表格之xlwt介绍

    利用Python操作excel表格之xlwt介绍   by:授客 QQ:1033553122 直接上代码   案例1 #!/usr/bin/env python # -*- coding:utf-8 ...

  10. 用NPOI、C#操作Excel表格生成班级成绩单

    在C#中利用NPOI操作Excel表格非常方便,几乎上支持所有的Excel表格本身所有的功能,如字体设置.颜色设置.单元格合并.数值计算.页眉页脚等等. 这里准备使用NPOI生成一个班级成绩单Exce ...

随机推荐

  1. 基于Modelsim的直方图统计算法仿真

    一.前言 本篇主要针对牟新刚编著<基于FPGA的数字图像处理及应用>第六章第五节中直方图统计相关类容进行总结,包括代码实现及 基于Modelsim的仿真.书读百遍,其意自现. 2020-0 ...

  2. Vuex的理解以及它的辅助函数

    理解:vue中的“单向数据流”,这里借用官网的图示: Vue是单向数据流,v-model只是语法糖而已.单向数据流就是:数据总是[向下传递]从父级组件传递给子组件,只能单向绑定.子组件内部不能直接修改 ...

  3. Spring Boot入门系列(六)如何整合Mybatis实现增删改查

    前面介绍了Spring Boot 中的整合Thymeleaf前端html框架,同时也介绍了Thymeleaf 的用法.不清楚的朋友可以看看之前的文章:https://www.cnblogs.com/z ...

  4. Chrome开发者工具之测试应用

    一.Chrome开发者工具简介 浏览器的开发者工具(DevTools)可以帮助开发人员对网页进行布局,比如HTML+CSS,帮助前端工程师更好的调试脚本(JavaScript.jQuery)之类的,还 ...

  5. C++总结之template

    函数模板 我们可以把函数模板当做一种特殊的函数,里面的参数类型可以是任意类型,这样的话我们就可以减少重复定义,从而让这个函数模板自动适应不同的参数类型,也就是说函数可以适应多种类型的参数,例如doub ...

  6. PostgreSQL查询表以及字段的备注

    目录 查询所有表名称以及字段含义 查看所有表名 查看表名和备注 查看特定表名备注 查看特定表名字段 查询所有表名称以及字段含义 select c.relname 表名,cast(obj_descrip ...

  7. 《Java8 Stream编码实战》正式推出

    ​当我第一次在项目代码中看到Stream流的时候,心里不由得骂了一句"傻X"炫什么技.当我开始尝试在代码中使用Stream时,不由得感叹真香. 记得以前有朋友聊天说,他在代码中用了 ...

  8. Vue 学习笔记(四)

    一.路由简单示例 HTML <script src="https://unpkg.com/vue/dist/vue.js"></script> <sc ...

  9. 今天开dev的时候,config update一下别人的,但是忘了自己改过目录了,导致光看ip,想了半天,为什么接口不对

    今天开dev的时候,config update一下别人的,但是忘了自己改过目录了,导致光看ip,想了半天,为什么接口不对 baseUrl: {     //     // dev: 'http://1 ...

  10. 《Python学习手册 第五版》 -第16章 函数基础

    前面的章节讲解的是一些基础数据类型.基本语句使用和一些文档查看的内容,这些都是一些基础,其实还谈不上入门,只有了解了函数,才算入门 函数是编程里面使用最多的也是最基本的程序结构, 本章重点内容 1.函 ...