案例一

# 导入第三方依赖库
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
如果觉得我的文章对你有用,请随意赞赏
扫一扫支付
上一篇