090、Python 写Excel文件及一些操作(使用xlwt库)

要写Excel文件,我们需要使用第三方库。

xlwt库是一个常用的写Excel的第三方库,它同时支持.xls和.xlsx。

要使用第三方库,首选需安装:

复制代码
pip install xlwt xlutils

安装完成后,我们就可以引入库来进行相关操作了。

使用xrwt库写Excel文本,可以按以下步骤操作:

1、第一步:创建工作簿(Workbook):

复制代码
wb = xlwt.Workbook()

2、第二步:添加工作表(Worksheet):

复制代码
sheet = wb.add_sheet('期末成绩')

3、第三步:设置单元格样式:

复制代码
'''
字体相关设置
'''
# 创建一个字体对象
font = xlwt.Font()
font.name = 'Arial'  # 字体名称
font.bold = True  # 加粗
font.italic = True  # 斜体
font.underline = xlwt.Font.UNDERLINE_SINGLE  # 下划线
font.height = 240  # 字体大小(通常使用 20 作为一个点的近似值,因此 240 大约是 12 点)

'''
边框样式设置
'''
# 创建边框对象
borders = xlwt.Borders()
borders.left = xlwt.Borders.THIN
borders.right = xlwt.Borders.THIN
borders.top = xlwt.Borders.THIN
borders.bottom = xlwt.Borders.THIN

'''
背景色和图案设置
'''
# 创建图案对象并设置背景色
pattern = xlwt.Pattern()
pattern.pattern = xlwt.Pattern.SOLID_PATTERN
pattern.pattern_fore_colour = 5  # 黄色

'''
对齐方式设置
'''
# 创建对齐对象
alignment = xlwt.Alignment()
alignment.horz = xlwt.Alignment.HORZ_CENTER  # 水平居中
alignment.vert = xlwt.Alignment.VERT_CENTER  # 垂直居中

# 创建一个样式对象并设置边框、字体和对齐方式并应用到标题和姓名
style = xlwt.XFStyle()
style.borders = borders
style.font = font
style.alignment = alignment

# 创建一个样式对象并设置边框、背景色和对齐方式并应用到分数
style1 = xlwt.XFStyle()
style1.borders = borders
style1.alignment = alignment
style1.pattern = pattern

这里我创建了两个样式对象,分别用到不同的内容中。

4、第四步:向单元格写入数据:

复制代码
# sheet.write(0, 0, '姓名')
# sheet.write(0, 1, '语文')
# sheet.write(0, 2, '数学')
# sheet.write(0, 3, '英语')

titles = ('姓名', '语文', '数学', '英语')
for col_index, title in enumerate(titles):
    sheet.write(0, col_index, title, style)  # 这里使用设置字体样式

names = ('张三', '李四', '王五', '小红')
# Todo: 写入以上学生3门课程的成绩,成绩用50-100的随机数
for row_index, name in enumerate(names):
    sheet.write(row_index + 1, 0, name, style)
    for col_index in range(1, 4):
        sheet.write(row_index + 1, col_index, random.randrange(50, 100), style1)

5、第五步:保存工作簿

复制代码
wb.save('Resources/二年级二班考试成绩表.xls')

到此为止,写一个Excel文件就完成了。

相关推荐
小徐不徐说5 小时前
序列化与反序列化:把 C++ 对象可靠地保存下来
开发语言·数据库·c++·php
ragnwang5 小时前
Notes: Python pybind11 import C++ module
开发语言·c++·python
王中阳Go5 小时前
后端转 Agent 岗面试怎么答:8 个高频问题与应答口径
人工智能·后端·python·大语言模型
Wang's Blog5 小时前
Java 项目实战: 交友项目 - 搜索附近的功能概述和分析
java·开发语言·交友
骑着蜗牛撵大象3276 小时前
大模型 Agent 的沙箱护栏:gVisor 隔离、出口白名单与审计闭环
java·开发语言·jvm·安全·agent沙箱·gvisor·microvm
weixin_307779136 小时前
RAG 面试陷阱——混合检索并非无条件优越:一个条件反转实验
人工智能·python·面试·职场和发展
Dxy12393102167 小时前
JS DES 加密详解
开发语言·javascript·arcgis
充值内卷7 小时前
我给桌面加了个鱼缸:C++ 写后端,WebView2 里养一座 Three.js 小岛
开发语言·javascript·c++
云和数据.ChenGuang7 小时前
深入解析 Python 的 dir():从用法到 CPython 源码实现
开发语言·人工智能·python·langchain
nice_lcj5208 小时前
深入理解 Java 反射:从 Class 对象到方法调用(含性能实测 + 迷你 IOC 实战 + 面试考点)
java·开发语言·后端·面试