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 小时前
Java 对象相关高频面试题
java·开发语言·spring·java-ee
花酒锄作田6 小时前
Postgres - Listen/Notify构建轻量级发布订阅系统
python·postgresql
watson_pillow6 小时前
c++ 协程的初步理解
开发语言·c++
庞轩px6 小时前
深入理解 sleep() 与 wait():从基础到监视器队列
java·开发语言·线程··wait·sleep·监视器
Thomas.Sir6 小时前
第二章:LlamaIndex 的基本概念
人工智能·python·ai·llama·llamaindex
故事和你917 小时前
洛谷-算法1-2-排序2
开发语言·数据结构·c++·算法·动态规划·图论
m0_694845577 小时前
Dify部署教程:从AI原型到生产系统的一站式方案
服务器·人工智能·python·数据分析·开源
白毛大侠8 小时前
理解 Go 接口:eface 与 iface 的区别及动态性解析
开发语言·网络·golang
李昊哲小课8 小时前
Python办公自动化教程 - 第7章 综合实战案例 - 企业销售管理系统
开发语言·python·数据分析·excel·数据可视化·openpyxl
Hou'8 小时前
从0到1的C语言传奇之路
c语言·开发语言