Python中Excel读取写入(xlrd与xlwt)的使用
😂 这篇文章最后更新于1224天前,您需要注意相关的内容是否还可用。
目录导航
xlrd读取Excel(仅支持xls格式)
xlwt写出Excel
xlrd读取Excel(仅支持xls格式)
import xlrd
data=xlrd.open_workbook("excel.xls")
# # 判断0工作表是否被加载
# print(data.sheet_loaded(0))
# # 卸载工作表后再输出为false表示未加载
# data.unload_sheet(0)
# print(data.sheet_loaded(0))
# 打印所有sheet 与 索引为1的sheet
print(data.sheets())
print(data.sheets()[0])
# 根据索引名字获取 Sheet 0:<Sheet1>
print(data.sheet_by_index(0))
print(data.sheet_by_name("Sheet1"))
# 获取所有工作表名字 ['Sheet1', 'Sheet2', 'Sheet3']
print(data.sheet_names())
# 获取sheets总数 3
print(data.nsheets)
# 操作行列
sheet=data.sheet_by_index(0)
# 获取总行数
print(sheet.nrows)
# 获取索引行内容
print(sheet.row(0))
# 获取行类型 array('B', [1, 0, 0, 0]) 数字表示类型
print(sheet.row_types(0))
# 第一行第一个单元格
print(sheet.row(0)[0])
print(sheet.row(0)[0].value)
# 纯获取行直
print(sheet.row_values(0))
# 行长度
print(sheet.row_len(0))
# 列数
print(sheet.ncols)
print(sheet.col(0))
# 获取指定单元格值
print(sheet.col(0)[0].value)
# 列所有值 类型
print(sheet.col_values(0))
print(sheet.col_types(0))
# 操作单元格 坐标行列
print(sheet.cell(0,0))
print(sheet.cell(0,0).value)
print(sheet.cell_value(0,0))
# 查看单元格类型 ctype亦可
print(sheet.cell_type(0,0))
print(sheet.cell(0,0).ctype)
xlwt写出Excel
import xlwt
# excel写入(xlwt) 创建工作簿
# 初始化样式
titlestyle = xlwt.XFStyle()
titlefont = xlwt.Font()
titlefont.name = "宋体"
titlefont.bold = True
titlefont.height = 11 * 20 # 11字号 20单位
titlefont.colour_index = 0x08
titlestyle.font = titlefont
# 对齐方式
cellalign = xlwt.Alignment()
# 水平居中
cellalign.horz = 0x02
# 垂直居中
cellalign.vert = 0x01
titlestyle.alignment = cellalign
# 边框
borders = xlwt.Borders()
borders.right = xlwt.Borders.DASHED
borders.bottom = xlwt.Borders.DASHED
titlestyle.borders = borders
wb = xlwt.Workbook()
# 背景颜色样式
title1style = xlwt.XFStyle()
# 颜色模式
bgcolor = xlwt.Pattern()
bgcolor.pattern = xlwt.Pattern.SOLID_PATTERN
# 设置颜色
bgcolor.pattern_fore_colour = 22
title1style.pattern = bgcolor
# 创建sheet
ws = wb.add_sheet("2020年度")
# 填充数据 参数:r1 r2 c1 c2 文字,即行列范围合并并填充文字
ws.write_merge(0, 1, 0, 5, "2020年报表", titlestyle)
# 写入数据
data = (("title1", "title2", "title3", "title4", "title5"), ("1", "2", "3", "4", "5"), ("5", "4", "3", "2", "1"))
# enumerate循环返回索引
for i, item in enumerate(data):
for j, val in enumerate(item):
if j == 0:
ws.write(i + 2, j, val, title1style)
else:
# 跳过前两行
ws.write(i + 2, j, val)
# 插入第二个sheet 添加图片
wsimg = wb.add_sheet("img")
# 插入图片
wsimg.insert_bitmap("2020.bmp", 0, 0)
# 写入到当前目录
wb.save("2020_BG.xls")
留言评论
暂无留言