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

相关推荐
孔丘闻言14 分钟前
关于 Flask 3.0+的 框架的一些复习差异点
python·adb·flask
ankleless14 分钟前
Python 数据可视化:Matplotlib 与 Seaborn 实战
开发语言·python
Gavin_91527 分钟前
一文速通Ruby语法
开发语言·ruby
搞一搞汽车电子39 分钟前
vs studio 2017项目不支持studio vs2022
开发语言
witkey_ak98961 小时前
python 可迭代对象相关知识点
开发语言·python
站大爷IP1 小时前
Python生成器与迭代器:从内存优化到协程调度的深度实践
python
呼啦啦啦啦啦啦啦啦1 小时前
synchronized锁,ReentrantLock 锁
开发语言·
二闹1 小时前
Python打印值的两种写法,到底有啥不同?
python
站大爷IP2 小时前
Python构建MCP服务器:从工具封装到AI集成的全流程实践
python
听风的码2 小时前
Vue2封装Axios
开发语言·前端·javascript·vue.js