详解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.mzph.cn/pingmian/12400.shtml

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

相关文章

Salesforce AI研究: 从奖励建模到在线RLHF工作流

摘要 该研究在本技术报告中介绍了在线迭代基于人类反馈的强化学习(Online Iterative Reinforcement Learning from Human Feedback, RLHF)的工作流程,在最近的大语言模型(Large Language Model, LLM)文献中,这被广泛报道为大幅优于其离线对应方法。然而,现有的开源RLHF项目仍然…

Android存储文件路径的区别

一、Android存储简介 Android系统分为内部存储和外部存储 从Android6.0开始不断在更新存储权限 外部存储路径的开头:storage/emulated/0 内部存储文件路径的开头:/data/user/0/应用的包名(packageName) 在设备上对应的目录为/data…

Linux的命名管道 共享内存

目录 命名管道 mkfifo函数 unlink函数 命名管道类 服务端 客户端 共享内存 shmget函数 ftok函数 key和shmid的区别 snprintf函数 ipcs指令 ipcrm指令 shmctl函数 shmat函数 void*做返回值 创建共享内存空间 服务端 客户端 命名管道 基本概念&#xff1…

笔记本黑屏,重新开机主板没有正常运作的解决办法

拆开笔记本后壳,打开看到主板,将主板上的这颗纽扣电池拆下来,如果是带连接线的(如下图),可以将接口处线头拔出,等1分钟再把线接上。 ------------- 以下是科普 首先,电脑主板上的这…

力扣例题(循环队列)

链接 . - 力扣(LeetCode) 描述 思路 我们使用数组来创建循环队列 数组的大小我们就额外对开辟一块空间 MyCircularQueue(k) 开辟一个结构体,存放队列的相关数据 分别为size,数组指针_a,起始位置head,结束位置tail 注意:我们…

移动端自动化测试工具 Appium 之持续集成

文章目录 一、背景二、前置条件三、代码部分1、pom.xml文件配置2、main入口代码 四、Jenkins 部分1、下载Jenkins2、安装插件3、job配置4、选择构建 五、工程目录六、报告示例七、总结 一、背景 持续集成是老生话谈的事情,用的好不好,看自己公司与使用场…

能播放SWF文件的FlashPlayer播放器

问题: 你是不是遇到了 flash 动画 放不了了? 以前的flash游戏玩不了了 在网上很难找到好用的,免费Flashplayer播放器, 找到的也没法保存.exe 以前买的课件放不了了 一打开就更新提示: 再不就是意外能打开了但【创建…

IBM Granite模型开源:推动软件开发领域的革新浪潮

每周跟踪AI热点新闻动向和震撼发展 想要探索生成式人工智能的前沿进展吗?订阅我们的简报,深入解析最新的技术突破、实际应用案例和未来的趋势。与全球数同行一同,从行业内部的深度分析和实用指南中受益。不要错过这个机会,成为AI领…

高中数学:平面向量-加减运算

一、向量的加法运算 三角形法则(推荐) 两个或多个向量收尾相连的加法运算,用三角形法则 简便算法 首尾相连的多个向量,去掉中间点,就是最终的和。 也可以用三角形法则证明 向量加法交换律 向量加法结合律 平行四…

讲解SSM的xml文件

概述&#xff1a;这些配置文件很烦&#xff0c;建议直接复制粘贴 springMVC.xml文件 <?xml version"1.0" encoding"UTF-8"?> <beans xmlns"http://www.springframework.org/schema/beans"xmlns:xsi"http://www.w3.org/2001/XM…

【Image captioning】In Defense of Grid Features for Visual Question Answering实现流程

In Defense of Grid Features for Visual Question Answering实现流程 网格特征预训练代码 这是该论文的特征预训练代码发布: @InProceedings{jiang2020defense,title={In Defense of Grid Features for Visual Question Answering},author={Jiang, Huaizu and Misra, Ishan…

霍廷格电源 Tru plasma DC3030 通快DC3040 MF3030

霍廷格电源 Tru plasma DC3030 通快DC3040 MF3030

jdk安装多个版本,但是java -version显示最早安装的版本,换掉Path或者JAVA_HOME不生效问题

问题一&#xff1a;当你的电脑上又多个jdk版本&#xff0c;如17 或者8时&#xff0c;使用命令行 java -version显示最早安装的&#xff0c;如下图所示&#xff1a;环境变量配置的17&#xff0c;但是命令行显示的是8。 原因&#xff1a;windows电脑装jdk17后 会在你的环境变量…

5.14_练习

1、字符串逆序 编写一个函数reverse_string(char* string)(递归实现) 实现&#xff1a;将参数字符串中的字符反向排列&#xff0c;不是逆序打印 要求&#xff1a;不能使用C函数库中的字符串操作函数 比如&#xff1a; char arr[ ]"abcdef"; 逆序之后数组的内容…

全面提升数据采集效率:亮数据产品的应用与评估详解

全面提升数据采集效率&#xff1a;亮数据产品的应用与评估详解 文章目录 全面提升数据采集效率&#xff1a;亮数据产品的应用与评估详解背景应用场景&#xff1a;平台首页信息抓取准备评测素材详细的产品使用和评测流程产品介绍亮数据的IP代理服务亮数据的爬虫工具及采集技术 注…

云商城系统源码,无后门,一站式系统Java源码

云商城系统&#xff0c;无后门&#xff0c;一站式系统Java源码&#xff0c;心权益商品数量不限数量 系统对接 手动发货 自动发货 兑 换 码 订单监控 商品监控 对象存储 邮箱提醒 加价模板 密价功能 三方支付 会员体系 财务明细 交易分析 售后服务 技术支持 【Java源码】云商…

Dubbo3.x 异步转同步源码

底层netty通信是异步的&#xff0c;那我们平时调用采取的同步是如何将底层的异步转为同步的呢&#xff1f; dubbo远程rpc协议和网络框架有多种&#xff0c;我们以默认的dubbo协议、网络框架netty作为切入点. 注意点&#xff1a;debug时将过期时间设置长一点&#xff1a; 调用…

使用vue3+ts+vite从零开始搭建bolg(五):layout(持续更新中)

五、layout搭建 5.1静态搭建 在src下创建如图文件夹 这里用logo举例&#xff0c;在scripts里export <script lang"ts">export default {name: Logo,}</script> 然后在layout里引入 //引入左侧菜单顶部用户信息 import Logo from ./logo/index.vue 接…

java版数据结构:堆,大根堆,小根堆

目录 堆的基本概念&#xff1a; 如何将一个二叉树调整成一个大根堆&#xff1a; 转成大根堆的时间复杂度 根堆中的插入&#xff0c;取出数据&#xff1a; 堆的基本概念&#xff1a; 堆是一种特殊的树形数据结构&#xff0c;它满足以下两个性质&#xff1a; 堆是一个完全二叉…

【半夜学习MySQL】表结构的操作(含表的创建、修改、删除操作,及如何查看表结构)

&#x1f3e0;关于专栏&#xff1a;半夜学习MySQL专栏用于记录MySQL数据相关内容。 &#x1f3af;每天努力一点点&#xff0c;技术变化看得见 文章目录 创建表查看表结构修改表删除表 创建表 语法&#xff1a; create table table_name(field1 datatype,field2 datatype,fiel…