XlsxWriter简介
XlsxWriter是一个Python模块,可用于在Excel 2007+ XLSX文件中写入多个工作表的文本,数字,公式和超链接。它支持格式化等功能。可到官网了解更多详情,官网链接:https://xlsxwriter.readthedocs.io/

安装XlsxWriterd
pip install XlsxWriter
1
实例1:创建一个xlsx文件,并写入内容
import xlsxwriter

# 创建工作簿并添加工作表
workbook = xlsxwriter.Workbook('demo1.xlsx')
worksheet = workbook.add_worksheet()

# 写入数据到A1
worksheet.write('A1', 'Hello world')

# 关闭excel文件
workbook.close()

实例2:xlsx的的简单应用
假设我们有一些关于我们想要转换为Excel XLSX文件的月度支出的数据:

expenses = (
['Rent', 1000],
['Gas', 100],
['Food', 300],
['Gym', 50],
)

要做到这一点,我们可以从一个小程序开始,如下所示:

import xlsxwriter

# 创建工作簿并添加工作表。
workbook = xlsxwriter.Workbook('Expenses01.xlsx') # 设置输出路径为当前目录下
worksheet = workbook.add_worksheet()

# 下面是我们想要写入工作表的一些数据。
expenses = (
['Rent', 1000],
['Gas', 100],
['Food', 300],
['Gym', 50],
)

# 从第一个单元格开始。行和列为零索引。
row = 0
col = 0

# 迭代数据并逐行写出。
for item, cost in (expenses):
worksheet.write(row, col, item)
worksheet.write(row, col + 1, cost)
row += 1

# 使用公式计算总和。
worksheet.write(row, 0, 'Total')
worksheet.write(row, 1, '=SUM(B1:B4)')

# 不要忘记关闭文件
workbook.close()

运行程序后,我们可以在刚刚设置的目录下找到‘Expenses01.xlsx’文件。
Expenses01.xlsx 打开后如下图所示:

实例3:向xlsx文件添加格式
在上一节中,我们使用Python和XlsxWriter模块创建了一个简单的电子表格。

这将所需的数据转换为Excel文件,但看起来有点光鲜。为了使信息更清晰,我们想添加一些简单的格式,如下所示:

重点观察注释部分即可,大部分代码与实例2相同,对比实例2与实例三的异同

import xlsxwriter

workbook = xlsxwriter.Workbook('Expenses02.xlsx')
worksheet = workbook.add_worksheet()

# 使用add_fromat方法设置单元格的格式
bold = workbook.add_format({'bold': True}) # 添加粗体格式
money = workbook.add_format({'num_format': '$#,##0'}) # 添加数字格式

# 在worksheet的write方法中的第三个参数写上刚刚设置的格式参数,即可为单元格填充格式
worksheet.write('A1', 'Item', bold) # 设置标题栏为粗体
worksheet.write('B1', 'Cost', bold)

expenses = (
['Rent', 1000],
['Gas', 100],
['Food', 300],
['Gym', 50],
)

row = 1
col = 0

for item, cost in (expenses):
worksheet.write(row, col, item)
worksheet.write(row, col + 1, cost, money) # 设置数字格式
row += 1

worksheet.write(row, 0, 'Total', bold)
worksheet.write(row, 1, '=SUM(B2:B5)', money)

workbook.close()

1、xlsxwriter模块的简单使用:

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

1.1 基本功能

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
import xlsxwriter   #导入模块
 
workbook = xlsxwriter.Workbook('new_excel.xlsx')     #新建excel表
 
worksheet = workbook.add_worksheet('sheet1')       #新建sheet(sheet的名称为"sheet1")
 
headings = ['Number','testA','testB']     #设置表头
 
data = [
    ['2017-9-1','2017-9-2','2017-9-3','2017-9-4','2017-9-5','2017-9-6'],
    [10,40,50,20,10,50],
    [30,60,70,50,40,30],
]                                                              #自己造的数据
 
 
 
worksheet.write_row('A1',headings)
 
worksheet.write_column('A2',data[0])
worksheet.write_column('B2',data[1])
worksheet.write_column('C2',data[2])                   #将数据插入到表格中
 
 
workbook.close()          #将excel文件保存关闭,如果没有这一行运行代码会报错

  查看生成excel的结果:

1.2 将excel中插入折线图

 

生成图表如下图

2、xlsxwriter模块常用功能介绍:

2.1、设置单元格的格式:

2.1.1、通过字典的方式直接设置格式。

1 workfomat = workbook.add_format({
2 'bold': True, #字体加粗
3 'border':1, #单元格边框宽度
4 'align': 'center', #对齐方式
5 'valign': 'vcenter', #字体对齐方式
6 'fg_color': '#F4B084', #单元格背景颜色
7 })

2.1.2、通过format对象的方式设置单元格格式。

1 workfomat = workbook.add_format()
2 workfomat.set_bold(1) #设置边框宽度
3 workfomat.set_num_format('0.00') #格式化数据格式为小数点后两位
4 workfomat.set_align('center') #设置对齐方式
5 workfomat.set_fg_color('blue') #设置单元格背景颜色
6 workfomat.set_bg_color('red') #设置单元格背景颜色 (经测试和上边的功能一样)

2.1.3、一些单元表的操作,像这样的操作还有好多,可以根据自己的需要去进行研究。

1 worksheet.merge_range('D1:D7','合并单元格')        #合并单元格
2 worksheet.set_tab_color('red') #设置sheet标签颜色
3 worksheet.set_column('A:D',25) #设置A到D列的列宽为25
4 worksheet.write_formula('E2','=B2/C2') #设置表格中的计算,‘E2’是计算结果,'=B2/C2'是计算公式

2.2、常用图表类型:

1 #area:面积图
2 #bar:直方图
3 #colume:柱状图
4 #line:折线图
5 #pie:饼图
6 #doughnut:环形图
7 #sactter:散点图
8 #stock:股票趋势图
9 #radar:雷达图

python(xlsxwriter模块使用)的更多相关文章

  1. 通过python xlsxwriter模块生成EXCEL柱状图、饼图

    xlsxwriter模块不是python自带的,使用pip下载 import xlsxwriter #新建一个excel文件,起名为expense01.xlsx workbook = xlsxwrit ...

  2. python XlsxWriter模块创建aexcel表格

    https://blog.csdn.net/qq_41030861/article/details/82148777 安装使用pip install XlsxWriter来安装,Xlsxwriter用 ...

  3. Python——xlsxwriter模块的使用

    xlsxwriter是用于制作Excel表格的 安装方法 40 wget https://pypi.python.org/packages/e4/63/e53deacc293c7fadf95b8404 ...

  4. 004、Python xlsxwriter模块

    简单用法demo # !/usr/bin/python # coding:utf-8 # xlsxwriter的基本用法 import xlsxwriter # 1. 创建一个Excel文件 work ...

  5. Python xlsxwriter模块

    1.简介: xlsxWriter支持多种excle功能:与excel完美兼容:写大文件,速度快且只占用很小的内存空间不支持读或者改现有的excel文件 2.安装: pip install xlsxwr ...

  6. python通过xlsxwriter模块将文字写入xlsx文件

    #今天和大家一起学习通过python的xlsxwriter模块 xlsxwriter模块主要用来生成excel表格,插入数据.插入图标等表格操作等. 环境:python 3 1)安装 xlsxwrit ...

  7. $用python处理Excel文档(2)——用xlsxwriter模块写xls/xlsx文档

    Refer:<python自动化运维:技术与最佳实践> 更多用法参考xlsxwriter官方文档:http://xlsxwriter.readthedocs.io/ 本文主要总结一下如何使 ...

  8. python xlwt 与 xlsxwriter 模块差别

    Xlwt 模块有一个bug, 就是所用样式过多的话,之后的数据将使用不了样式,相反xlsxwriter 模块 不会有此问题. 用Xlwt模块的同学们,请务必转换用xlsxwriter模块 !!!!!! ...

  9. Python(五)模块

    本章内容: 模块介绍 time & datetime random os sys json & picle hashlib XML requests ConfigParser logg ...

随机推荐

  1. Python之浅谈多态和封装

    目录 组合 什么是组合 为什么使用组合 多态和多态性 多态 什么是多态? 多态性 好处 多态性 什么是多态性 封装 封装是什么意思? 隐藏 如何用代码实现隐藏 python 实际上是可以访问隐藏属性的 ...

  2. JavaWeb项目在浏览器点击几次就阻塞了

    问题描述 在学习JavaWeb项目时,通过IDE启动项目后,在浏览器点击几次页面中的链接就阻塞了,浏览器一直转圈圈无法加载,后台日志也没有输出. 第一次遇见这种情况,没有日志完全无法分析到底是什么问题 ...

  3. 大厂程序员因厌恶编程,辞去月薪2w+的工作去当司机?

    世界好小啊,刚在一个 UP 主的群里看到一个视频,标题叫做:"失业了工作没找到,却稀里糊涂上了知乎热搜,2000 多万人围观,我--" 说实话,看到视频的封面,我的下巴当时就掉到了 ...

  4. Python Java 快速配置环境变量(Path)

    Python Java 快速配置环境变量(Path) 最近系统被重置,清空了C盘中的program等文件夹以及初始化了环境变量. 通常环境下,在windows环境中我们都会打开"环境变量&q ...

  5. UVA11300 Spreading the Wealth 题解

    题目 A Communist regime is trying to redistribute wealth in a village. They have have decided to sit e ...

  6. request.headers.get头部获取内容的缺失

    1.说明 今天遇到了一个小坑,在做权限控制的时候,用头部传递了参数取名为table_privilege_id, 在本地测试的时候是可以接到这个参数的,但是通过ngxin转发之后,奇怪了,怎么也拿不到这 ...

  7. java学习第二天 20207/7

    一. 1.对传参进行了了解 2. 2.java的变量命名与c/c++有些不同在java中有¥,字母,下划线和数字,同样不可以是数字开头. java的布尔型为boolean 各个数据类型的信息: 注意: ...

  8. day29 作业

    1.引入属性访问控制+property 2.引入继承与派生的概念来减少代码冗余 注意:要满足什么"是"什么的关系,不满足"是"的关系不要去继承 import u ...

  9. DRS是啥你都不知道?不是吧,不是吧

    前言 最近写了很多数据库相关的文章,大家基本上对数据库也有了很多的了解,数据库本身有所了解了,我们是不是应该回归业务本身呢? 大家去了解过自己企业数据库的部署方式么?是怎么部署的,又是部署在哪里的?部 ...

  10. vue组件通讯之provide / inject

    什么是 provide / inject [传送门] vue的组件通讯方式我们熟知的有 props $emit bus vuex ,另外就是 provide/inject provide/inject ...