IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> Python知识库 -> 使用python对excel进行读写操作以及高亮单元格 -> 正文阅读

[Python知识库]使用python对excel进行读写操作以及高亮单元格


目前我有一个excel表格,总共有两列若干行,我需要将两列中内容不一样的行进行高亮。
经过资料查询发现pandas只能提供excel的数据读取操作而无法将例如高亮等格式写入到excel中,因此我选择使用xlwt包进行excel文件的写入操作

数据读取:

#读取数据
filePath="./test.xlsx"
data=pd.read_excel(filePath,header=None)
""" print(data) """
dataValue=data.values
""" print(dataValue) """
rowNum=len(dataValue)

deader默认是第一行,如果文件没有表头就写None
pd直接读出来的是DataFrame格式的,使用data.values将数据取出来变成二维数组
在这里插入图片描述
这是我的excel文件内容:
在这里插入图片描述
data.values读出来就变成二维数组了:
在这里插入图片描述

内容高亮

OK,到现在我已经读出来了数据内容了,接下来就是如何进行高亮了
之前我们说到pandas无法进行excel内容的写入,于是数据写入(我将结果写到了一个新的Excel中)与样式设置使用xlwt库

#设置样式
pattern = xlwt.Pattern()
pattern.pattern = xlwt.Pattern.SOLID_PATTERN
pattern.pattern_fore_colour = 5 		 # 5 背景颜色为黄色
style = xlwt.XFStyle()
style.pattern = pattern

pattern_fore_colour不同值表示的颜色:

#1 = White, 2 = Red, 3 = Green, 4 = Blue, 5 = Yellow, 6 = Magenta, 7 = Cyan,
 16 = Maroon,17 = Dark Green, 18 = Dark Blue, 19 = Dark Yellow , almost brown), 
 20 = Dark Magenta, 21 = Teal, 22 = Light Gray, 23 = Dark Gray

创建sheet页并进行内容写入

创建sheet页

#创建一个sheet
book = xlwt.Workbook(encoding='utf-8')
sheet = book.add_sheet('Sheet1') #创建一个sheet

#判断同行元素是否相等,并插入值到新的sheet中
for i in range(rowNum):
    if dataValue[i][0]!=dataValue[i][1]:
        sheet.write(i,0,dataValue[i][0],style) #顺序为 row, column, value, style
        sheet.write(i,1,dataValue[i][1],style)
    else:
        sheet.write(i,0,dataValue[i][0])
        sheet.write(i,1,dataValue[i][1])

sheet.write()函数调用格式如下:
单元格行坐标,列坐标,单元格Value,样式

文件保存

book.save("./result.xls")

后记

在进行excel操作的时候注意要使用xlwt创建一个新的book进行sheet的写入,不能使用xlrd(excel数据读取的一个包)将sheet读出后直接写,这样是写不成功的

完整代码如下:

from email import header
import pandas as pd
import xlrd
import xlwt

#读取数据
filePath="./test.xlsx"
data=pd.read_excel(filePath,header=None)
print(type(data))
dataValue=data.values
print(dataValue)
rowNum=len(dataValue)

#设置样式
pattern = xlwt.Pattern()
pattern.pattern = xlwt.Pattern.SOLID_PATTERN
pattern.pattern_fore_colour = 5 		 # 5 背景颜色为黄色
style = xlwt.XFStyle()
style.pattern = pattern

#创建一个sheet
book = xlwt.Workbook(encoding='utf-8')
sheet = book.add_sheet('Sheet1') #创建一个sheet

#判断同行元素是否相等,并插入值到新的sheet中
for i in range(rowNum):
    if dataValue[i][0]!=dataValue[i][1]:
        sheet.write(i,0,dataValue[i][0],style)
        sheet.write(i,1,dataValue[i][1],style)
    else:
        sheet.write(i,0,dataValue[i][0])
        sheet.write(i,1,dataValue[i][1])

book.save("./result.xls")
a=input("处理完成,输入任意键退出")

最后结果展示:
在这里插入图片描述
已经将不同内容的单元格进行了高亮显示

  Python知识库 最新文章
Python中String模块
【Python】 14-CVS文件操作
python的panda库读写文件
使用Nordic的nrf52840实现蓝牙DFU过程
【Python学习记录】numpy数组用法整理
Python学习笔记
python字符串和列表
python如何从txt文件中解析出有效的数据
Python编程从入门到实践自学/3.1-3.2
python变量
上一篇文章      下一篇文章      查看所有文章
加:2022-01-17 11:28:10  更:2022-01-17 11:28:55 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/16 2:15:01-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码