详解xlsxwriter 操作Excel的常用API

我们知道可以通过pandas 对excel 中的数据进行处理分析,但是pandas本身对格式化数据方面提供了很少的支持,如果我们想对pandas进行数据分析后的数据进行格式化相关操作,我们可以使用xlsxwriter,本文就对xlsxwriter的常见excel格式化方法进行介绍!这里需要强调一下xlsxwriter只支持excel的新建写入操作!(会对原有的同名excel文件进行覆盖)

xlsxwriter常用API

安装方法
pip install xlsxwriter

最基础的写入数据操作代码如下:

workbook = xlsxwriter.Workbook('test1.xlsx')
worksheet = workbook.add_worksheet()
worksheet.write_row(0,0, ['测试excel的格式化'])
workbook.close()
其中write_rowapi参数介绍如下:

def write_row(self, row, col, data, cell_format=None):
   
"""
    Write a row of data starting from (row, col).

    Args:
        row:    The cell row (zero indexed).
        col:    The cell column (zero indexed).
        data:   A list of tokens to be written with write().
        format: An optional cell Format object.
    Returns:
        0:  Success.
        other: Return value of write() method.

row col就是行列信息,

这里需要注意参数data是一个list,向不同列写入数据,就是在list中添加不同的数据。

worksheet.write_row(0,0, ['测试excel的格式化',1.99])

即分别在单元格A1 B1写入数据,接下来我们就来看看write_row 中的另一个参数format,这是我们重点讨论的内容!常见的设置如下:

workbook.add_format({'bold': True, 'align': 'center', 'border': True,'bg_color': '00CC66','font_color':'red', 'num_format':'0.00'})
看属性名称就会猜到其功能
'bold': True 设置字符粗体、
'align': 'center' 居中显示文字
'border': True, 单元格设置边框
'bg_color': '00CC66' 单元格背景颜色为绿色
'font_color':'red',单元格字符颜色为红色
'num_format':'0.00' 单元格数字进行格式化下面我们直接上代码
import xlsxwriter
workbook = xlsxwriter.Workbook('test1.xlsx')
worksheet = workbook.add_worksheet()
worksheet.set_column('A:B', 30)
cells_format = workbook.add_format({'bold': True, 'align': 'center', 'border': True,'bg_color': '00CC66','font_color':'red','num_format':'0.00'})
data_format=workbook.add_format({'num_format':'0.00'})
worksheet.write_row(0,0, ['测试excel的格式化',1.99],cells_format)
workbook.close()
excel 展示内容如下,可以看到我们设置的属性内容都生效了

其他属性还包括:

Category

Description

Property

Method Name

Font

Font type

'font_name'

set_font_name()

Font size

'font_size'

set_font_size()

Font color

'font_color'

set_font_color()

Bold

'bold'

set_bold()

Italic

'italic'

set_italic()

Underline

'underline'

set_underline()

Strikeout

'font_strikeout'

set_font_strikeout()

Super/Subscript

'font_script'

set_font_script()

Number

Numeric format

'num_format'

set_num_format()

Protection

Lock cells

'locked'

set_locked()

Hide formulas

'hidden'

set_hidden()

Alignment

Horizontal align

'align'

set_align()

Vertical align

'valign'

set_align()

Rotation

'rotation'

set_rotation()

Text wrap

'text_wrap'

set_text_wrap()

Reading order

'reading_order'

set_reading_order()

Justify last

'text_justlast'

set_text_justlast()

Center across

'center_across'

set_center_across()

Indentation

'indent'

set_indent()

Shrink to fit

'shrink'

set_shrink()

Pattern

Cell pattern

'pattern'

set_pattern()

Background color

'bg_color'

set_bg_color()

Foreground color

'fg_color'

set_fg_color()

Border

Cell border

'border'

set_border()

Bottom border

'bottom'

set_bottom()

Top border

'top'

set_top()

Left border

'left'

set_left()

Right border

'right'

set_right()

Border color

'border_color'

set_border_color()

Bottom color

'bottom_color'

set_bottom_color()

Top color

'top_color'

set_top_color()

Left color

'left_color'

set_left_color()

Right color

'right_color'

set_right_color()

 

data_validation

有的时候我们还需要在excel中的cell里添加选项列表,具体实现如下:

worksheet.data_validation('C1', {"validate": "list", "source": ["新增", "待优化", "已优化", "已验证", "不优化"]})

效果如下所示:

想了解更多关于xlswriter 操作Excel的高级应用,可以参考文章:

https://blog.csdn.net/liwenxiang629/article/details/138673004

我的每一篇文章都希望帮助读者解决实际工作中遇到的问题!如果文章帮到了您,劳烦点赞、收藏、转发!您的鼓励是我不断更新文章最大的动力!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/704134.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

场景文本检测识别学习 day09(SSM、S4、Mamba、S6)

SSM(State Space Model) SSM是一个针对连续函数的模型,即输入是连续函数,输出也是连续函数。上图为状态方程和输出方程,其中h(t)是当前时刻的状态,x(t)是当前时刻的输入,h’(t)是下一个时刻的状…

AI绘画做图在线对话二合一源码系统 直接输入文字就可以在线生成视频 带完整的安装包以及搭建教程

系统概述 AI绘画做图在线对话二合一系统是一款集成了AI绘画、在线对话和视频生成功能的综合性软件。用户只需在系统中输入文字描述,系统便能根据描述内容自动生成相应的绘画作品和对话内容,进而将这些元素组合成一部完整的视频。该系统不仅支持多种绘画…

mybatis-plus-ui代码生成器

mybatis-plus-generator-ui 提供交互式的Web UI用于生成兼容mybatis-plus框架的相关功能代码,包括Entity,Mapper,Mapper.xml,Service,Controller等 ,可以自定义模板以及各类输出参数,也可通过SQL查询语句直接生成代码。 使用方法 引入mave…

webpack优化构建速度示例-合理配置loader的include exclude:

实际上,babel-loader 在 Webpack 配置中默认并不包含 exclude 和 include 选项的默认值,通常,为了优化构建性能,开发者会显式地设置 exclude 和 include 选项,以便 babel-loader 只处理必要的文件。 src/index.js impo…

搞大事!法国邀请芬兰公司建量子工厂

法国当地时间5月13日,法国总统马克龙宣布启动2024年度“选择法国”(Choose France)商业峰会。今年峰会召开前,法国赢得了创纪录的150亿欧元外国投资承诺,覆盖从人工智能到制药和能源等领域。 而涉及到量子领域最重磅的…

react18【系列实用教程】useMemo —— 缓存数据 (2024最新版)

为什么添加了 memo &#xff0c;子组件2依然重新渲染了呢&#xff1f; 因为父组件向子组件2传递了引用类型的数据 const userInfo {name: "朝阳",};<Child2 userInfo{userInfo} />memo() 函数的本质是通过校验Props中数据的内存地址是否改变来决定组件是否重新…

【Java学习笔记10 Java Web 应用——JSP

JSP(Java Script Pages)技术是一种网站开发技术&#xff0c;可以让Web开发人员快速、高效的开发出易于维护的动态网页。使用JSP技术开发的Web应用程序具有跨平台性&#xff0c;不需要修改程序&#xff0c;发布后即可在Windows、Linux等不同的操作系统中运行。 10.1 JSP技术概述…

搜维尔科技:【案例分享】腾讯魔方工作组采用Xsens动捕录制动作

一&#xff1a;腾讯魔方工作组采用Xsens动捕录制动作 用户名称&#xff1a;腾讯魔方工作组Next工作室 主要产品&#xff1a;Xsens MVN Link Animate Pro 腾讯Next工作室采用Xsens MVN 动作捕捉设备进行动作数据的采集和录制&#xff0c;数据用于后期游戏项目的开发&#xf…

原生IP介绍

原生IP&#xff0c;顾名思义&#xff0c;即初始真实IP地址&#xff0c;是指从互联网服务提供商获得的IP地址&#xff0c;IP地址在互联网与用户之间直接建立联系&#xff0c;不需要经过代理服务器代理转发。 原生IP具备以下特点。 1.直接性 原生IP可以直接连接互联网&#xff…

Java集合之HashMap

概述 HashMap是基于哈希表的Map接口实现的一种存储key、value的数据结构&#xff0c;提供了所有可选的映射操作&#xff0c;且键值允许null的存在&#xff0c;不保证数据映射的顺序&#xff0c;也不能保证顺序在一段时间内保持不变 底层结构 jdk1.7&#xff1a;数组链表 jdk…

Acrel-1000变电站综合自动化监控系统 实时测控保护、远动于一体

​一、 系统概述 1.1 概述 Acrel-1000 变电站综合自动化监控系统&#xff0c;是我司根据电力系统自动化及无人值守的要求&#xff0c;总结国内外的研究和生产的先进经验&#xff0c;专门研制出的新一代电力监控系统。本系统具有保护、遥测、遥信、遥脉、遥调、遥控功能&#x…

新时代高速数据中心800G DR8光模块解决方案

近年来&#xff0c;随着5G网络、存储介质和计算能力等基础技术的不断升级&#xff0c;100G和400G数据中心得到了普及。如今800G数据中心时代也已经来临。本文将围绕800G DR8来介绍飞速&#xff08;FS&#xff09;800G数据中心解决方案&#xff0c;旨在为全球客户提供全面且高性…