案例一
# 导入第三方依赖库
import xlrd
# 载入文件
xlsx = xlrd.open_workbook("ppt02依赖七月下旬入库表.xls")
# 读取文件第一个sheet 从0开始
# 得到表
table = xlsx.sheet_by_index(0)
# 获取通过sheet名查找 : xlsx.sheet_by_name("小麦七月入库")
# 三种获取指定单元格的方法
print(table.cell_value(0, 0))
print(table.cell(0, 1).value)
print(table.row(0)[2].value)
# 循环获取sheet的名字的两种方法
for i in range(0, xlsx.nsheets):
sheet = xlsx.sheet_by_index(i)
print(sheet.name)
# 官方提供
for sheet_name in xlsx.sheet_names():
print(sheet_name)
案例二
# 导入第三方库
import xlwt
# 新建工作簿
new_workbook = xlwt.Workbook()
# 新建sheet
worksheet = new_workbook.add_sheet('八月大豆产量')
# 新建单元格并写入内容
worksheet.write(0, 0, '日期')
worksheet.write(0, 1, '单价(元)')
worksheet.write(0, 2, '产量(吨)')
worksheet.write(1, 0, '2020/8/1')
worksheet.write(1, 1, '5.1')
worksheet.write(1, 2, '13541')
# 保存
new_workbook.save('大豆产量.xls')
案例三
# 导入依赖库下面的copy类
from xlutils.copy import copy
# 导入写入和读取库
import xlrd
import xlwt
# 保存excel时,保留excel原有的格式
tem_excel = xlrd.open_workbook('ppt02依赖七月下旬入库表.xls', formatting_info=True)
# tem_sheet = tem_excel.sheet_by_index(0)
# 拷贝一个新的excel
new_excel = copy(tem_excel)
# 获取第二页
new_sheet = new_excel.get_sheet('小麦7月入库')
# 获取风格设置对象
style = xlwt.XFStyle()
# 对字体进行设置
font = xlwt.Font()
font.name = '微软雅黑'
# 加粗
font.bold = True
# 字体大小 实际对应的18号字体 18*20
font.height = 300
# 设置字体对象
style.font = font
# 边框设置
border = xlwt.Borders()
# THIN = 细线
border.top = xlwt.Borders.THIN
border.bottom = xlwt.Borders.THIN
border.left = xlwt.Borders.THIN
border.right = xlwt.Borders.THIN
style.borders = border
# 对齐
alignment = xlwt.Alignment()
alignment.horz = xlwt.Alignment.HORZ_CENTER
alignment.vert = xlwt.Alignment.VERT_CENTER
style.alignment = alignment
# 第一行
new_sheet.write(1, 0, '2020/07/01', style)
new_sheet.write(1, 1, '张三', style)
new_sheet.write(1, 2, '成都', style)
new_excel.save('表格样式.xls')
案例四
# 三年级二班成绩总和
import xlrd
import xlwt
# 读取Excel
xlsx = xlrd.open_workbook('三年级二班成绩.xls')
# 读取指定的sheet
sheet = xlsx.sheet_by_index(0)
# 创建一个集合用于存放数据
all_data = []
# 统计有多少学生,并去重
num_set = set()
for row_i in range(1, sheet.nrows):
num = sheet.cell_value(row_i, 0)
name = sheet.cell_value(row_i, 1)
grade = sheet.cell_value(row_i, 4)
student = {
'num': num,
'name': name,
'grade': grade
}
all_data.append(student)
num_set.add(num)
# 计算总分
sum_list = []
for num in num_set:
name = ''
sum = 0
for student in all_data:
if num == student['num']:
sum += student['grade']
name = student['name']
sum_stu = {
'num': num,
'name': name,
'sum': sum
}
sum_list.append(sum_stu)
# 写入新的Excel
# 新建工作簿
new_workbook = xlwt.Workbook();
# 新建sheet
worksheet = new_workbook.add_sheet('2班总成绩')
# 写入标题
worksheet.write(0, 0, '学号')
worksheet.write(0, 1, '姓名')
worksheet.write(0, 2, '总分')
#循环写入后面内容
for row in range(0,len(sum_list)):
worksheet.write(row + 1, 0, sum_list[row]['num'])
worksheet.write(row + 1, 1, sum_list[row]['name'])
worksheet.write(row + 1, 2, sum_list[row]['sum'])
# 保存
new_workbook.save('2班学生总分.xls')
案例五
import os
import xlwt
file_path = "f:/"
os.listdir(file_path)
# 创建写出文件
new_workbook = xlwt.Workbook()
sheet = new_workbook.add_sheet('文件遍历')
sheet.write(0, 0, '类型')
sheet.write(0, 1, '名称')
n = 1
for name in os.listdir(file_path):
# 判断这个路径是否表示文件夹
if os.path.isdir(file_path+name):
sheet.write(n, 0, '文件夹')
# 如果不是文件夹,即是有后缀的那些文件
else:
# 分离文件名与扩展名,返回元组(f_name, f_extension)
ext = os.path.splitext(name)[1]
sheet.write(n, 0, ext)
sheet.write(n, 1, name)
n += 1
new_workbook.save('文件夹和文件.xls')
最后修改于 2021-03-08 21:02:29
如果觉得我的文章对你有用,请随意赞赏
扫一扫支付

