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文件就完成了。

相关推荐
肩上风骋6 分钟前
C++14特性
开发语言·c++·c++14特性
小糖学代码14 分钟前
LLM系列:环境搭建:5.Python-dotenv 环境变量管理
人工智能·python·深度学习·神经网络
智慧物业老杨1 小时前
智慧物业合同周期管理系统:从风险预警到智能交接的全流程数智化落地方案
java·人工智能·python
橙橙笔记1 小时前
Python的学习第一部分
python·学习
JAVA社区2 小时前
Java高级全套教程(十)—— SpringCloudAlibaba超详细实战详解
java·开发语言·spring cloud·面试·职场和发展
弥树子2 小时前
踩坑记录:服务器内网调用接口,真实请求URL与官方公开URL不一致问题排查
开发语言·php
voidmort2 小时前
3. 微调(Fine-tuning)与强化学习(RL)的核心思想
python·深度学习·算法
z落落2 小时前
C# ToCharArray + foreach遍历 + String与StringBuilder
开发语言·c#
学代码的真由酱2 小时前
Java多用户一对一网页聊天室-测试报告
java·开发语言·功能测试·测试
biter down2 小时前
基于 Pywinauto 的 QQ 音乐 GUI 自动化测试实践
python