文 | 潮汐

来源:Python 技术「ID: pythonall」

随着技术栈的越来越成熟,为了解决重复的劳动力型工作,越来越多的人开始学习自动化办公,使用技术帮助自己高效工作,提升工作效率,今天的文章讲解如何使用Python技术中的神奇工具来协助咱们自动化办公,这个神器就是 xlsxwriter。

那什么是 xlsxwriter 呢?

Xlsxwriter 是一个用于编写 Excel 文件格式文件的 Python 模块,xlsxwriter 可以用来写文本,数字,公式和超链接到多个工作表,它支持的功能也有很多,譬如格式化、单元格合并、图标功能等,具体功能如下:

02

另外它还支持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()

03

实例

下面简单看一个实例,新增一个表格,再在表格中添加文字、数据以及图片,最后将工作表保存在当前工作空间中,详细实例如下:

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()

实例结果图:

04

表格数据求和

下面的实例讲解新建表格添加相应数据求和。

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()

求和结果如下:

05

自定义格式

以下实例讲解输出数字格式,使用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()

输出结果如下:

06

写入日期格式

在单元格输出结果中加入日期格式:

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()

输出结果如下:

07

总结

今天的文章讲解了神器 xlsxwriter 操作 Excel 的基本操作,当然还有更多关于 xlsxwriter 有趣的知识点还未分享,欲知后事如何,下回咱们接着分享,感兴趣的朋友们可以试试,希望对大家有所帮助。

参考

https://pypi.org/project/XlsxWriter/

PS:公号内回复「Python」即可进入Python 新手学习交流群,一起 100 天计划!

老规矩,兄弟们还记得么,右下角的 “在看” 点一下,如果感觉文章内容不错的话,记得分享朋友圈让更多的人知道!

代码获取方式】

识别文末二维码,回复:潮汐

方便!Python 操作 Excel 神器 xlsxwriter 初识!相关推荐

  1. python 操作excel神器_【转】多图+代码 | 详解Python操作Excel神器openpyxl的各种操作!...

    转自:https://blog.csdn.net/weixin_41846769/article/details/108273349 前言 大家好,在之前的十几篇办公自动化系列文章中,我们大多是以真实 ...

  2. python每行输出8个式子_多图+代码 | 详解Python操作Excel神器openpyxl的各种操作!

    前言 大家好,在之前的十几篇办公自动化系列文章中,我们大多是以真实的案例需求来讲解Python如何进行自动化办公操作,并且多次使用到openpyxl来处理表格,今天我们就来详细的盘点Python操作E ...

  3. python小程序嵌入excel_用原生的方式操作Excel,Python玩转Excel神器xlsxwriter详解!...

    大家好,在之前的Python办公自动化系列文章中,我们已经介绍了两个Python操作Excel的库openpyxl与xlwings,并且相信大家已经了解这两者之间的异同. 但是在Python中操作Ex ...

  4. 这可能是全网最完整的 Python 操作 Excel 库总结

    在之前的办公自动化系列文章中,我已经对Python操作Excel的几个常用库openpyxl.xlrd/xlwt.xlwings.xlsxwriter等进行了详细的讲解. 为了进一步带大家了解各个库的 ...

  5. python操作excel-自动化办公:python 操作Excel

    原标题:自动化办公:python 操作Excel 1.安装 pip install xlsxwriter or easy_install xlsxwriter or tar -zxvf xlsxwri ...

  6. python与excel做数据可视化-python操作Excel、读取CVS与数据可视化

    1. python操作Excel python操作Excel有多种module可以实现(xlrd.xlwt.xlutils.openpyxl.xlsxwriter),本文使用xlsxwriter这个m ...

  7. 全网最全 Python 操作 Excel 教程,建议收藏!

    [欢迎关注微信公众号:厦门微思网络] 微思网络(官网):https://www.xmws.cn/ 0 Python Excel库对比 我们先来看一下python中能操作Excel的库对比(一共九个库) ...

  8. 最全整理!Python 操作 Excel 库 xlrd与xlwt 常用操作详解!

    来源/早起Python 在之前的Python办公自动化系列文章中,我们已经相信介绍了openyxl.xlsxwriter等Python操作Excel库. 相信大家对于几个库的差异与使用场景有了一定的认 ...

  9. 详解Python操作Excel文件

    前言 本篇文章主要总结了一下利用python操作Excel文件的第三方库和方法. 常见库简介 1.xlrd xlrd是一个从Excel文件读取数据和格式化信息的库,支持.xls以及.xlsx文件. 地 ...

  10. python excel取列_python取excel表格第一列数据-python操作excel,使用xlrd模块,获取某一列数据的......

    怎样用python,读取excel中的一列数据 Python对Excel的读写主要有xlrd.copyxlwt.xlutils.openpyxl.xlsxwriter几种. 1.xlrd主要用来读百取 ...

最新文章

  1. CentOS 6.0配置pptp ××× Client和Squid透明网关
  2. 【组队学习】【31期】数据可视化(Matplotlib)
  3. 机器人过程自动化的10个秘密
  4. JQ用变量关联input name
  5. 一起学nRF51xx 5 -  ppi
  6. React开发(124):ant design学习指南之form中的this.props.form
  7. macos远程桌面连接_如何在macOS中使用Microsoft远程桌面连接Amazon EC2
  8. python用户取消了安装_python的安装
  9. 使用windows 10 安装中文版语言
  10. BDFZOI 迷宫问题
  11. ASP.NET WebAPI导入EXCEL数据
  12. 【通信原理 入坑之路】基于MATLAB的移动通信系统仿真 之 瑞利衰落信道的原理与仿真
  13. 黑马程序员—黑马的学习环境没有亲身经历的人是很难体会的!!!
  14. 有些东西还得记下来,看过了又忘了,找起来又难找 (fluxbox, ab, seige)
  15. php 串口 主板,图解主板插槽:教你选对串口卡
  16. lubuntu输入法设置_Ubuntu18输入法设置
  17. 直播知识点实录|百度大脑EasyDL产业应用系列 安全生产专场
  18. 1971旗舰cpu intel_这就是近年来Intel最良心CPU!我彻底服了
  19. 解析聚合新闻数据,并显示到主界面上(简易新闻 二)
  20. 局域网steam联机_文明6/单机.局域网联机/5/4/3【单机游戏】

热门文章

  1. PS2手柄移植-hal库
  2. 数据分析 超市条码_超市小程序做得比较好的功能点是什么?
  3. u深度重装系统详细教程_u深度u盘装系统教程|u深度怎么装系统详细步骤
  4. 如何备份光猫html文件夹,华为光猫分区备份,还原,制作固件教程
  5. wps for linux字体缺失,wps for linux 字体库缺失问题的解决办法
  6. extmail 发送邮件附件大小限制修改
  7. DICOM的窗宽和窗位,斜率和截距
  8. SkeyeLive开源流媒体同屏直播软件源码功能框架解析
  9. ppt制作要怎样才会生动形象并深入人心呢
  10. windows系统好用的输入法推荐