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

相关推荐
liangshanbo121517 分钟前
JavaScript 面试题:Object.keys() 的返回顺序是无序的吗?
开发语言·javascript·ecmascript
朝朝辞暮i6 小时前
C++ 第 23 课:class —— 开始真正进入面向对象
开发语言·c++·算法
言乐67 小时前
HTML视频审核模型
python·django·virtualenv·pygame·tornado
小师兄吃牛肉7 小时前
C语言篇:宏
c语言·开发语言
郑同学的笔记7 小时前
【c++随笔28】strcmp 和 memcmp对比
开发语言·c++
言乐68 小时前
Python根据无法识别搜索词找出可能输入内容模型
开发语言·python·django·virtualenv·pygame
weixin_307779138 小时前
有限产能智能排产与动态重排智能体:从需求解构到技术实现
开发语言·人工智能·算法·架构
kakakahahahaha8 小时前
Windows C盘临时文件清理:%temp%、Windows Temp、Prefetch、Windows.old与hiberfil.sys处理指南
c语言·开发语言·windows
朝朝辞暮i8 小时前
C++ 第 27 课:智能指针 shared_ptr
开发语言·c++·算法
yl45309 小时前
硫酸泄露处理生产商怎么选才够专业
大数据·人工智能·python