一、写Excel
import xlwt
book = xlwt.Workbook()#建立工作簿
sheet = book.add_sheet(‘sheet1‘)#添加sheet
sheet.write(0,0,"学生姓名")#行,列,内容
sheet.write(1,0,"蔡明超")
sheet.write(2,0,"吴亦凡")
sheet.write(3,0,"汪峰")
book.save("明星.xls")#如果是wps的话,可以使用xlsx
写表结果:

写表练习:
1、将学生成绩信息,使用如图格式写入一个表格中
{
"1":["小花",99,100,98.5],
"2":["小王",90,30.5,95],
"3":["小明",67.5,49.6,88]
}

import xlwt
book = xlwt.Workbook()
sheet = book.add_sheet("学生成绩")
title = [‘学号‘,‘姓名‘,‘语文成绩‘,‘数学成绩‘,‘英语成绩‘,‘总分‘,‘平均分‘]
#优化前:
# data = {
# "1":["小花",99,100,98.5],
# "2":["小王",90,30.5,95],
# "3":["小明",67.5,49.6,88]
# }
# #处理表头
# for col,t in enumerate(title):
# sheet.write(0,col,t)
# row = 1
# for k,v in data.items():
# v.insert(0,k)#插入编号,将字典类型转换为list
# sum_score = sum(v[2:])#计算总分
# avg = round(sum_score/3,2)#计算平均分,并保留两位小数
# v.append(sum_score)
# v.append(avg)
# col = 0
# for value in v:
# sheet.write(row,col,value)
# col+=1
# row +=1
# book.save(‘学生成绩表.xls‘)
#优化后:
row = 0
for t in title:
sheet.write(0,row,t)
row+=1
data = [
["1","小花",99,100,98.5],#1
["2","小王",90,30.5,95],#
["3","小明",67.5,49.6,88]#
]
for row,v in enumerate(data,1): #行,row为从1开始的索引,默认枚举型从0开始
sum_score = sum(v[2:])#算总分
avg_score = round(sum_score / 3,2) #算平均分,round取两位小数
v.append(sum_score)
v.append(avg_score)
for col,value in enumerate(v):
sheet.write(row,col,value)
book.save("students.xls") #如果你用的是wps的话,可使用xlsx
二、读Excel
将student.xls表格中的数据读出来

import xlrd
book = xlrd.open_workbook(‘students.xls‘)#打开表格
sheet = book.sheet_by_index(0)#打开sheet
# sheet = book.sheet_by_name("学生成绩")
print(sheet.cell(0,0).value)#指定单元格内容
print(sheet.row_values(1))#取索引值为1的整行数据
print(sheet.col_values(1))#取索引值为1的整列数据
print(sheet.nrows)#总行数
print(sheet.ncols)#总列数
返回结果:
id [‘1‘, ‘小花‘, 99.0, 100.0, 98.5, 297.5, 99.17] [‘name‘, ‘小花‘, ‘小王‘, ‘小明‘] 4 7
三、修改Excel
from xlutils import copy import xlrd import os book = xlrd.open_workbook(‘students.xls‘)#打开表格 new_book = copy.copy(book)#拷贝表格 sheet = new_book.get_sheet(0) sheet.write(0,0,"id")#将0行0列单元格修改为id sheet.write(0,1,"name") os.rename(‘students.xls‘,‘students_bak.xls‘)#为防止表格被覆盖无法复原,先备份表格 new_book.save(‘students.xls‘)
Python学习笔记(21)Excel操作相关模块(xlwt/xlrd/xlutils)
原文:https://www.cnblogs.com/bugoobird/p/12958103.html