小白学 Python(24):Excel 基础操作(下)

人生苦短,我选Python
前文传送门
小白学 Python(22):time 和 calendar 模块简单使用
在这里首先恭喜各位看到本篇连载的同学,本篇连载为 《小白学 Python 基础系列》 最后一篇,恭喜各位在学习 Python 的道路上迈出了坚实的一大步。

写入 Excel
首先当然是安装第三方模块:
pip install openpyxl
首先我们需要先创建一个 WorkBook :
import xlsxwriter
workbook = xlsxwriter.Workbook('demo.xlsx')
在所有操作之前,需要记得先导入我们刚才安装的 xlsxwriter 的模块。
接下来,我们创建一个 Sheet :
sheet1 = workbook.add_worksheet('test_sheet')
创建完成后,需要关闭 workbook ,这一步会将我们刚才创建的 workbook 进行保存。
workbook.close()
好了,我们已经创建好了一个 excel ,操作结束,下课。
老师,你回来,这就完了?

我们接着介绍如何将数据写入至 Excel 中。
首先我们可以先设置一些的单元格的格式:
workfomat = workbook.add_format()
# 字体加粗
workfomat.set_bold(True)
# 单元格边框宽度
workfomat.set_border(1)
# 对齐方式
workfomat.set_align('left')
# 格式化数据格式为小数点后两位
workfomat.set_num_format('0.00')
然后我们将内容写入,具体内容小编懒得想了,直接复制上一篇文章中的内容:
heads = ['', '语文', '数学', '英语']
datas = [
['小明', 76, 85, 95],
['小红', 85, 58, 92],
['小王', 98, 96, 91]
]
sheet1.write_row('A1', heads, workfomat)
sheet1.write_row('A2', datas[0], workfomat)
sheet1.write_row('A3', datas[1], workfomat)
sheet1.write_row('A4', datas[2], workfomat)
然后执行程序,我们来看下最终输出的结果:

除了可以这样输出以外,我们还可以指定输出的单元格格式:
我们列举一个比较复杂的输出日期类型:
fomat1 = workbook.add_format({'num_format': 'yy/mm/dd/ hh:mm:ss'})
sheet1.write_datetime('E5', datetime.datetime(2019, 11, 9, 22, 44, 26), fomat1)
注意: 上面的格式化一定要加,否则在 Excel 中显示出来的只会是一个时间戳。
其他的输出类型小编这里就不一一举例了,下面列出一些常用的:
# 字符串类型
sheet1.write_string()
# 数字型
sheet1.wirte_number()
# 空类型
sheet1.write_blank()
# 公式
sheet1.write_formula()
# 布尔型
sheet1.write_boolean()
# 超链接
sheet1.write_url()
我们还可以在 Excel 中插入图片,样例如下:
sheet1.insert_image('I6', 'wx.jpg')
语法如下:
insert_image(row, col, image[, options])
row:行坐标,起始索引值为0;
col:列坐标,起始索引值为0;
image:string类型,是图片路径;
options:dict类型,是可选参数,用于指定图片位置,如URL等信息;
我们还可以在 Excel 中绘图,支持包括面积、条形图、柱状图、折线图、散点图等。
图表对象是通过 Workbook add_chart() 方法创建的,其中指定了图表类型:
chart = workbook.add_chart({'type': 'column'})
常见的图表样式如下:
area:面积样式的图表
bar:条形图
column:柱状图
line:线条样式的图表
pie:饼形图
scatter:散点图
stock:股票样式的图表
radar:雷达样式的图表
然后使用 insert_chart() Worksheet方法将其作为嵌入的图表插入到工作表中:
sheet1.insert_chart('A7', chart)
完整示例如下:
chart = workbook.add_chart({'type': 'column'})
chart.add_series({'values': '=test_sheet!$B$2:$B$4'})
chart.add_series({'values': '=test_sheet!$C$2:$C$4'})
chart.add_series({'values': '=test_sheet!$D$2:$D$4'})
sheet1.insert_chart('A7', chart)
结果如下:

一些常用的简单的操作就介绍到这里,想了解更多的同学可以访问官方文档,链接小编已经找出来了:https://xlsxwriter.readthedocs.io/ 。
示例代码
本系列的所有代码小编都会放在代码管理仓库 Github 和 Gitee 上,方便大家取用。
小白学 Python(24):Excel 基础操作(下)的更多相关文章
- 小白学 Python(23):Excel 基础操作(上)
人生苦短,我选Python 前文传送门 小白学 Python(1):开篇 小白学 Python(2):基础数据类型(上) 小白学 Python(3):基础数据类型(下) 小白学 Python(4):变 ...
- 小白学 Python(4):变量基础操作
人生苦短,我选Python 引言 前文传送门 小白学 Python(1):开篇 小白学 Python(2):基础数据类型(上) 小白学 Python(3):基础数据类型(下) 前面的文章中,我们介绍了 ...
- 小白学 Python(6):基础运算符(下)
人生苦短,我选Python 前文传送门 小白学 Python(1):开篇 小白学 Python(2):基础数据类型(上) 小白学 Python(3):基础数据类型(下) 小白学 Python(4):变 ...
- 小白学 Python(8):基础流程控制(下)
人生苦短,我选Python 前文传送门 小白学 Python(1):开篇 小白学 Python(2):基础数据类型(上) 小白学 Python(3):基础数据类型(下) 小白学 Python(4):变 ...
- 小白学 Python(10):基础数据结构(列表)(下)
人生苦短,我选Python 前文传送门 小白学 Python(1):开篇 小白学 Python(2):基础数据类型(上) 小白学 Python(3):基础数据类型(下) 小白学 Python(4):变 ...
- 小白学 Python(13):基础数据结构(字典)(下)
人生苦短,我选Python 前文传送门 小白学 Python(1):开篇 小白学 Python(2):基础数据类型(上) 小白学 Python(3):基础数据类型(下) 小白学 Python(4):变 ...
- 小白学 Python(15):基础数据结构(集合)(下)
人生苦短,我选Python 前文传送门 小白学 Python(1):开篇 小白学 Python(2):基础数据类型(上) 小白学 Python(3):基础数据类型(下) 小白学 Python(4):变 ...
- 小白学 Python(17):基础数据类型(函数)(下)
人生苦短,我选Python 前文传送门 小白学 Python(1):开篇 小白学 Python(2):基础数据类型(上) 小白学 Python(3):基础数据类型(下) 小白学 Python(4):变 ...
- 小白学 Python(18):基础文件操作
人生苦短,我选Python 前文传送门 小白学 Python(1):开篇 小白学 Python(2):基础数据类型(上) 小白学 Python(3):基础数据类型(下) 小白学 Python(4):变 ...
随机推荐
- unittest中的方法调用时报错ValueError: no such test method in <class 'mytestcase.MyTestCase'>: runTest
调用unittest中的方法时报错: ValueError: no such test method in <class 'mytestcase.MyTestCase'>: runTest ...
- Spring Security 入门(一)
当你看到这篇文章时,我猜你肯定是碰到令人苦恼的问题了,我希望本文能让你有所收获. 本人几个月前还是 Spring 小白,几个月走来,看了 Spring,Spring boot,到这次的 Spring ...
- [BZOJ3029] 守卫者的挑战
Description 打开了黑魔法师Vani的大门,队员们在迷宫般的路上漫无目的地搜寻着关押applepi的监狱的所在地.突然,眼前一道亮光闪过.“我,Nizem,是黑魔法圣殿的守卫者.如果你能通过 ...
- MOOC python笔记(三) 序列容器:字符串、列表、元组
容器概念 容器是Python中的重要概念,分为有序与无序. 有序容器也称为序列类型容器,如:字符串.列表. 通用序列容器操作 容器连接+ 加号可以把两个序列连接成一个更大的容器,相加后两个序列的值并不 ...
- python中list切片详解
语法:[start:stop:step] step代表切片步长:切片区间为[start,stop),包含start但不包含stop 1.step > 0,从左往右切片 2.step <0, ...
- python学习-列表、元组和字典(三)
学习笔记中的源码:传送门 3.1 列表和元组 3.2 不同类型变量的初始化: 数值 digital_value = 0 字符串 str_value = "" 或 str_value ...
- 微信小程序开发注意事项(优化项)
最近公司有一个小程序开发项目,自己也自学了不少,有一些开发小心得,记录在这里. 小程序开发中注意: 1,setData 小程序视图层和逻辑层在两个独立的模块,并不具备数据直接传递的,setData相当 ...
- 百万年薪python之路 -- 列表练习
1.写代码,有如下列表,按照要求实现每一个功能 li = ["alex", "WuSir", "ritian", "barry&q ...
- redis之管道
Redis 的消息交互当我们使用客户端对 Redis 进行一次操作时,如下图所示,客户端将请求传送给服务器,服务器处理完毕后,再将响应回复给客户端.这要花费一个网络数据包来回的时间. 如果连续执行多条 ...
- json基本内容
json的基本信息和历史 JSON(JavaScript Object Notation) 是一种轻量级的数据交换格式.它基于欧洲计算机协会制定的js规范的一个子集,采用完全独立于编程语言的文本格式来 ...