方便!Python 操作 Excel 神器 xlsxwriter 初识!
文 | 潮汐
来源:Python 技术「ID: pythonall」
随着技术栈的越来越成熟,为了解决重复的劳动力型工作,越来越多的人开始学习自动化办公,使用技术帮助自己高效工作,提升工作效率,今天的文章讲解如何使用Python技术中的神奇工具来协助咱们自动化办公,这个神器就是 xlsxwriter。
那什么是 xlsxwriter 呢?
Xlsxwriter 是一个用于编写 Excel 文件格式文件的 Python 模块,xlsxwriter 可以用来写文本,数字,公式和超链接到多个工作表,它支持的功能也有很多,譬如格式化、单元格合并、图标功能等,具体功能如下:
另外它还支持Python 3.4+和PyPy3,并且只使用标准库。但值得注意的是它不支持读或者改现有的excel文件。
xlsxwriter 同样也使用 pip 安装,安装语句如下:pip install xlsxwriter
简单使用
以下是关于 xlsxwriter
import xlsxwriterworkbook = xlsxwriter.Workbook('demo.xlsx') # 建立文件worksheet = workbook.add_worksheet() # 建立sheet, 可以使用work.add_worksheet('employee')来指定sheet名,如果命名中文名会报UnicodeDecodeErro的错误worksheet.write('A1', 'Hello world') # 向A1写入文字workbook.close()
实例
下面简单看一个实例,新增一个表格,再在表格中添加文字、数据以及图片,最后将工作表保存在当前工作空间中,详细实例如下:
import xlsxwriterdef simple_example():# 创建一个新的Excel文件并添加一个工作表workbook = xlsxwriter.Workbook('demo.xlsx')worksheet = workbook.add_worksheet()# 确定第一栏,使文字更清楚worksheet.set_column('A:A', 20)# 添加粗体格式以突出显示单元格bold = workbook.add_format({'bold': True})# 简单的写一些文字worksheet.write('A1', 'Hello')# 另起一行写入文字并加粗worksheet.write('A2', 'World', bold)# 用行/列表示法写一些数字worksheet.write(2, 0, 123)worksheet.write(3, 0, 13.432)# 插入一张图片.worksheet.insert_image('B5', 'logo.jpeg')workbook.close()if __name__ == '__main__':simple_example()
实例结果图:
表格数据求和
下面的实例讲解新建表格添加相应数据求和。
def sum_data():workbook = xlsxwriter.Workbook('demo.xlsx') # 建立文件worksheet = workbook.add_worksheet()add_data = (['A1', 1087],['A2', 1056],['A3', 300],['A4', 590],)# 按标号写入是从0开始的,按绝对位置'A1'写入是从1开始的row = 0col = 0# 遍历数据并逐行写出它for item, cost in (add_data):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)') # 调用excel的公式表达式workbook.close()
求和结果如下:
自定义格式
以下实例讲解输出数字格式,使用workbook.add_format()
函数进行自定义新增和运算后的输出结果,详细步骤如下:
def self_define_format():# 建文件及sheet.workbook = xlsxwriter.Workbook('demo2.xlsx')worksheet = workbook.add_worksheet()# Add a bold format to use to highlight cells. 设置粗体,默认是Falsebold = workbook.add_format({'bold': True})# 定义数字格式money = workbook.add_format({'num_format': '$#,##0'})# Write some data headers. 带自定义粗体blod格式写表头worksheet.write('A1', 'Item', bold)worksheet.write('B1', 'Cost', bold)# Some data we want to write to the worksheet.add_data = (['A1', 1087],['A2', 1056],['A3', 300],['A4', 590],)# Start from the first cell below the headers.row = 1col = 0# Iterate over the data and write it out row by row.for item, cost in (add_data):worksheet.write(row, col, item) # 带默认格式写入worksheet.write(row, col + 1, cost, money) # 带自定义money格式写入row += 1# Write a total using a formula.worksheet.write(row, 0, 'Total', bold)worksheet.write(row, 1, '=SUM(B2:B5)', money)workbook.close()
输出结果如下:
写入日期格式
在单元格输出结果中加入日期格式:
def write_date():from datetime import datetimeworkbook = xlsxwriter.Workbook('demo3.xlsx')worksheet = workbook.add_worksheet()# 添加粗体格式以突出显示单元格.bold = workbook.add_format({'bold': 1})# 为带钱的单元格添加数字格式.money_format = workbook.add_format({'num_format': '$#,##0'})# 添加Excel日期格式.date_format = workbook.add_format({'num_format': 'mmmm d yyyy'})# 调整列的宽度worksheet.set_column(1, 1, 15)# 写入数据表头worksheet.write('A1', 'Item', bold)worksheet.write('B1', 'Date', bold)worksheet.write('C1', 'Cost', bold)# 将数据写入工作表add_data = (['A1', '2013-01-13', 1875],['A2', '2013-01-14', 345],['A3', '2013-01-16', 564],['A4', '2013-01-20', 10987],)# 从标题下面的第一个单元格开始.row = 1col = 0for item, date_str, cost in (add_data):# 将日期字符串转换为datetime对象date = datetime.strptime(date_str, "%Y-%m-%d")worksheet.write_string(row, col, item)worksheet.write_datetime(row, col + 1, date, date_format)worksheet.write_number(row, col + 2, cost, money_format)row += 1# 用公式写出总数worksheet.write(row, 0, 'Total', bold)worksheet.write(row, 2, '=SUM(C2:C5)', money_format)workbook.close()
输出结果如下:
总结
今天的文章讲解了神器 xlsxwriter 操作 Excel 的基本操作,当然还有更多关于 xlsxwriter 有趣的知识点还未分享,欲知后事如何,下回咱们接着分享,感兴趣的朋友们可以试试,希望对大家有所帮助。
参考
https://pypi.org/project/XlsxWriter/
PS:公号内回复「Python」即可进入Python 新手学习交流群,一起 100 天计划!
老规矩,兄弟们还记得么,右下角的 “在看” 点一下,如果感觉文章内容不错的话,记得分享朋友圈让更多的人知道!
【代码获取方式】
识别文末二维码,回复:潮汐
方便!Python 操作 Excel 神器 xlsxwriter 初识!相关推荐
- python 操作excel神器_【转】多图+代码 | 详解Python操作Excel神器openpyxl的各种操作!...
转自:https://blog.csdn.net/weixin_41846769/article/details/108273349 前言 大家好,在之前的十几篇办公自动化系列文章中,我们大多是以真实 ...
- python每行输出8个式子_多图+代码 | 详解Python操作Excel神器openpyxl的各种操作!
前言 大家好,在之前的十几篇办公自动化系列文章中,我们大多是以真实的案例需求来讲解Python如何进行自动化办公操作,并且多次使用到openpyxl来处理表格,今天我们就来详细的盘点Python操作E ...
- python小程序嵌入excel_用原生的方式操作Excel,Python玩转Excel神器xlsxwriter详解!...
大家好,在之前的Python办公自动化系列文章中,我们已经介绍了两个Python操作Excel的库openpyxl与xlwings,并且相信大家已经了解这两者之间的异同. 但是在Python中操作Ex ...
- 这可能是全网最完整的 Python 操作 Excel 库总结
在之前的办公自动化系列文章中,我已经对Python操作Excel的几个常用库openpyxl.xlrd/xlwt.xlwings.xlsxwriter等进行了详细的讲解. 为了进一步带大家了解各个库的 ...
- python操作excel-自动化办公:python 操作Excel
原标题:自动化办公:python 操作Excel 1.安装 pip install xlsxwriter or easy_install xlsxwriter or tar -zxvf xlsxwri ...
- python与excel做数据可视化-python操作Excel、读取CVS与数据可视化
1. python操作Excel python操作Excel有多种module可以实现(xlrd.xlwt.xlutils.openpyxl.xlsxwriter),本文使用xlsxwriter这个m ...
- 全网最全 Python 操作 Excel 教程,建议收藏!
[欢迎关注微信公众号:厦门微思网络] 微思网络(官网):https://www.xmws.cn/ 0 Python Excel库对比 我们先来看一下python中能操作Excel的库对比(一共九个库) ...
- 最全整理!Python 操作 Excel 库 xlrd与xlwt 常用操作详解!
来源/早起Python 在之前的Python办公自动化系列文章中,我们已经相信介绍了openyxl.xlsxwriter等Python操作Excel库. 相信大家对于几个库的差异与使用场景有了一定的认 ...
- 详解Python操作Excel文件
前言 本篇文章主要总结了一下利用python操作Excel文件的第三方库和方法. 常见库简介 1.xlrd xlrd是一个从Excel文件读取数据和格式化信息的库,支持.xls以及.xlsx文件. 地 ...
- python excel取列_python取excel表格第一列数据-python操作excel,使用xlrd模块,获取某一列数据的......
怎样用python,读取excel中的一列数据 Python对Excel的读写主要有xlrd.copyxlwt.xlutils.openpyxl.xlsxwriter几种. 1.xlrd主要用来读百取 ...
最新文章
- CentOS 6.0配置pptp ××× Client和Squid透明网关
- 【组队学习】【31期】数据可视化(Matplotlib)
- 机器人过程自动化的10个秘密
- JQ用变量关联input name
- 一起学nRF51xx 5 - ppi
- React开发(124):ant design学习指南之form中的this.props.form
- macos远程桌面连接_如何在macOS中使用Microsoft远程桌面连接Amazon EC2
- python用户取消了安装_python的安装
- 使用windows 10 安装中文版语言
- BDFZOI 迷宫问题
- ASP.NET WebAPI导入EXCEL数据
- 【通信原理 入坑之路】基于MATLAB的移动通信系统仿真 之 瑞利衰落信道的原理与仿真
- 黑马程序员—黑马的学习环境没有亲身经历的人是很难体会的!!!
- 有些东西还得记下来,看过了又忘了,找起来又难找 (fluxbox, ab, seige)
- php 串口 主板,图解主板插槽:教你选对串口卡
- lubuntu输入法设置_Ubuntu18输入法设置
- 直播知识点实录|百度大脑EasyDL产业应用系列 安全生产专场
- 1971旗舰cpu intel_这就是近年来Intel最良心CPU!我彻底服了
- 解析聚合新闻数据,并显示到主界面上(简易新闻 二)
- 局域网steam联机_文明6/单机.局域网联机/5/4/3【单机游戏】
热门文章
- PS2手柄移植-hal库
- 数据分析 超市条码_超市小程序做得比较好的功能点是什么?
- u深度重装系统详细教程_u深度u盘装系统教程|u深度怎么装系统详细步骤
- 如何备份光猫html文件夹,华为光猫分区备份,还原,制作固件教程
- wps for linux字体缺失,wps for linux 字体库缺失问题的解决办法
- extmail 发送邮件附件大小限制修改
- DICOM的窗宽和窗位,斜率和截距
- SkeyeLive开源流媒体同屏直播软件源码功能框架解析
- ppt制作要怎样才会生动形象并深入人心呢
- windows系统好用的输入法推荐