详解xlsxwriter 操作Excel的常用API

news2024/12/23 4:33:47
我们知道可以通过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.coloradmin.cn/o/1673366.html

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

相关文章

一觉醒来 AI科技圈发生的大小事儿 05月13日

📳博弈论让 AI 更加正确、高效,LLM 与自己竞争 研究团队设计了共识博弈,通过让语言模型的生成器和判别器相互博弈来提高模型的准确性和内部一致性。这种方法不需要对基础模型进行训练或修改,可以在笔记本电脑上快速执行。研究结果…

山洪灾害无线预警广播系统的主要设备和功能

一、背景 山洪泥石流是指在山区或者其他沟谷深壑,地形险峻的地区,因为暴雨、暴雪或其他自然灾害引发的洪水、山体滑坡并携带有大量泥沙以及石块的特殊洪流。山洪泥石流等地质灾害具有突然性以及流速快,流量大,物质容量大和破坏力…

C# SortedList 用法

文章目录 基本用法主要属性和方法注意事项 SortedList 的一些高级用法和注意事项。自定义排序规则线程安全性性能考量与其他集合的对比 SortedList 是 C# 中的一个集合类,它是一个键/值对集合,其中的键自动按顺序排序。这个类位于 System.Collections.G…

在Windows环境下安装CPU版的PyTorch

PytTorch是基于Python开发的,首先需要安装Python,Python的安装很简单,这里不再赘述。而 Windows用户能直接通过conda、pip和源码编译三种方式来安装PyTorch。 打开PyTorch官网(PyTorch),在主页中根据自己的…

2024年NOC大赛创客智慧(西瓜创客)Python复赛编程真题模拟试卷包含答案

NOC复赛python模拟题 1.编写一个程序,提示用户输人一个矩形的长度和宽度,并输出其面积, 2.试计算在区间 1 到 n的所有整数中,数字x(0≤x≤9)共出现了多少次?例如在 1到11 中,即在 1,2,3.45,6.7,8.9,10,11 中,数字 1出现了 4 次.…

买货查窜货过程中的可能情况

控价除了要管控渠道中的低价、乱价链接外,还可能需要解决窜货问题,当窜货问题蔓延不及时解决时,渠道会越来越受影响,所以治理窜货也是控价过程中很重要的一步,窜货问题的治理多通过买货溯源来解决,买货要先…

关于LED的小事

基础知识 LED(Light Emitting Diode)是一种能够将电能转换为光能的发光二极管。LED的发明者是美国的物理学家罗伯特诺伊斯和化学家哈里贾斯特。LED的原理是利用半导体材料中的电子和空穴在禁带中产生复合,从而释放出光子,达到发光…

QLExpress入门及实战总结

文章目录 1.背景2.简介3.QLExpress实战3.1 基础例子3.2 低代码实战3.2.1 需求描述3.2.1 使用规则引擎3.3.2 运行结果 参考文档 1.背景 最近研究低代码实现后端业务逻辑相关功能,使用LiteFlow作为流程编排后端service服务, 但是LiteFlow官方未提供图形界面编排流程。…

深入 Go 语言:使用 math/rand 包实现高效随机数生成

深入 Go 语言:使用 math/rand 包实现高效随机数生成 介绍math/rand 包的核心功能设计哲学应用场景 基础使用方法初始化和种子设置设置种子创建私有随机数生成器 基础函数详解生成整数生成特定范围的整数生成浮点数随机置乱数组 进阶技巧随机数的统计属性生成正态分布…

背背佳卷土重来90天爆卖一个亿,这次盯上了成年人……

提起背背佳这三个字,除了00后不熟悉外,在座的柴油们应该没有陌生的吧!不管你是90后,80后,还是70后,60后。 但是,似乎好多年,这三个字没出现过了。 但是这两天,背背佳这三…

嵌入式STM32中I2C控制器外设详解

STM32中的I2C外设主要负责IIC协议与外界进行通信,就像USART外设一样,我们在学习的过程中,需要抓住I2C应用的重点。 STM32在使用I2C协议时,可以通过两种方式, 一是软件模拟协议 意思是使用CPU直接控制通讯引脚的电平,产生出符合通讯协议标准的逻辑。例如,像点亮LED那样…

高并发系统设计-系统的“三高“目标

目录 一、高并发 1.高并发相关指标 2.如何提高并发能力 二、高并发的目标 1.高性能 2.高可用 3.高扩展 一、高并发 高并发(High Concurrency)是互联网分布式系统架构设计中必须考虑的因素之一,它通常是指,通过设计保证系统能…

实战6:线性回归电影票房预测-完整代码数据论文-可直接运行

直接看论文: 数据: 数据分析特征分析: 预测结果: 完整代码: from sklearn import preprocessing import random from sklearn.model_selection import train_test_split

Docker 基础认识

文章目录 概念铺垫(1)概念铺垫(2)概念铺垫 (3)概念铺垫(4)Docker 定义Docker 特点Docker 架构 概念铺垫(1) 虚拟化相关概念 物理机:实际的服务器…

【人工智能Ⅱ】实验7:目标检测算法2

实验7:目标检测算法2 一:实验目的与要求 1:了解一阶段目标检测模型-YOLOv3模型的原理和结构. 2:学习通过YOLOv3模型解决目标检测问题。 二:实验资源 pytorch代码各文件夹内容介绍 1. data_loader.py:能…

【Kali Linux工具篇】wpscan的基本介绍与使用

介绍 WPScan是Kali Linux默认自带的一款漏洞扫描工具,它采用Ruby编写,能够扫描WordPress网站中的多种安全漏洞,其中包括主题漏洞、插件漏洞和WordPress本身的漏洞。最新版本WPScan的数据库中包含超过18000种插件漏洞和2600种主题漏洞&#x…

LeetCode 力扣题目:买卖股票的最佳时机 III

❤️❤️❤️ 欢迎来到我的博客。希望您能在这里找到既有价值又有趣的内容,和我一起探索、学习和成长。欢迎评论区畅所欲言、享受知识的乐趣! 推荐:数据分析螺丝钉的首页 格物致知 终身学习 期待您的关注 导航: LeetCode解锁100…

template——模板进阶(C++)

在之前的文章中,介绍了模板初阶:Cpp_桀桀桀桀桀桀的博客-CSDN博客 在本篇中将会对模板进一步的讲解。本篇中的主要内容为:非类型模板参数、函数模板的特化、类模板的特化(其中包含全特化和偏特化),最后讲解…

什么是数据中心?关于数据中心的这些知识一定要知道

在数字化时代,数据已成为企业最宝贵的资产之一。数据中心,作为支撑海量数据存储、处理和分发的基础设施,其战略地位日益凸显。它们不仅是信息技术的心脏,更是推动现代商业决策、创新和运营的核心引擎。随着云计算、大数据、物联网…

React 第三十章 React 和 Vue 描述页面的区别

面试题:React 和 Vue 是如何描述 UI 界面的?有一些什么样的区别? 标准且浅显的回答: React 中使用的是 JSX,Vue 中使用的是模板来描述界面 前端领域经过长期的发展,目前有两种主流的描述 UI 的方案&#xf…