试图5天学会python——python操作excel

一、读表格

1. 打开工作表

import xlrd

data = xlrd.open_workbook("1.xlsx")
print(data.sheet_loaded(0))
data.unload_sheet(0) # 关闭工作表
print(data.sheet_loaded(0))

print(data.sheets()) # 获取全部工作表
print(data.sheets()[0])
print(data.sheet_by_index(0)) # 根据索引获取工作表
print(data.sheet_by_name("Sheet1")) # 根据名字获取工作表
print(data.sheet_names()) # 获取所有工作表的名字
print(data.nsheets) # 返回所有工作表的数量

2. 操作 excel 行

# 操作excel行
sheet = data.sheet_by_index(0) # 获取第一个工作表
print(sheet.nrows) # 获取工作表的行数
print(sheet.row(2)) # 返回该行单元格对象组成的列表
print(sheet.row_types(2)) # 获取单元格的数据类型
print(sheet.row(1)[2].value) # 获取单元格的值
print(sheet.row_values(1)) # 获取单元格内的所有值
print(sheet.row_len(1)) # 得到单元格的长度

3. 操作 excel 列

# 操作excel列
sheet  = data.sheet_by_index(0)
print(sheet.ncols)
print(sheet.col(1)) # 该列单元格对象组成的列表
print(sheet.col(1)[2])
print(sheet.col(1)[2].value)
print(sheet.col_values(1)) # 返回该列所有value组成的列表
print(sheet.col_types(5))

4. 操作 excel 单元格

# 操作excel单元格
sheet = data.sheet_by_index(0)
print(sheet.cell(1, 2))
print(sheet.cell_type(1, 2))
print(sheet.cell(1, 2).ctype) # 获取单元格的数据类型
print(sheet.cell(1, 2).value)
print(sheet.cell_value(1, 2))

5. 完整代码

import xlrd

data = xlrd.open_workbook("1.xlsx")
print(data.sheet_loaded(0))
data.unload_sheet(0) # 关闭工作表
print(data.sheet_loaded(0))

print(data.sheets()) # 获取全部工作表
print(data.sheets()[0])
print(data.sheet_by_index(0)) # 根据索引获取工作表
print(data.sheet_by_name("Sheet1")) # 根据名字获取工作表
print(data.sheet_names()) # 获取所有工作表的名字
print(data.nsheets) # 返回所有工作表的数量

# 操作excel行
sheet = data.sheet_by_index(0) # 获取第一个工作表
print(sheet.nrows) # 获取工作表的行数
print(sheet.row(2)) # 返回该行单元格对象组成的列表
print(sheet.row_types(2)) # 获取单元格的数据类型
print(sheet.row(1)[2].value) # 获取单元格的值
print(sheet.row_values(1)) # 获取单元格内的所有值
print(sheet.row_len(1)) # 得到单元格的长度

# 操作excel列
sheet  = data.sheet_by_index(0)
print(sheet.ncols)
print(sheet.col(1)) # 该列单元格对象组成的列表
print(sheet.col(1)[2])
print(sheet.col(1)[2].value)
print(sheet.col_values(1)) # 返回该列所有value组成的列表
print(sheet.col_types(5))

# 操作excel单元格
sheet = data.sheet_by_index(0)
print(sheet.cell(1, 2))
print(sheet.cell_type(1, 2))
print(sheet.cell(1, 2).ctype) # 获取单元格的数据类型
print(sheet.cell(1, 2).value)
print(sheet.cell_value(1, 2))

二、写表格

1. 实例化字体对象

# 实例化字体对象
titleFont = xlwt.Font()
titleFont.name = '宋体'
titleFont.bold = True
titleFont.height = 11 * 20
titleFont.colour_index = 0x08
titleStyle.font = titleFont

2. 实例化单元格对齐方式

# 实例化单元格对齐方式
cellAlign = xlwt.Alignment()
cellAlign.horz = 0x02
cellAlign.vert = 0x01
titleStyle.alignment = cellAlign

3. 实例化单元格边框样式

# 实例化单元格边框样式
border = xlwt.Borders()
border.right = xlwt.Borders.DASHED
border.bottom = xlwt.Borders.DOTTED
titleStyle.borders = border

4. 实例化单元格背景颜色

# 实例化单元格背景颜色
dateStyle = xlwt.XFStyle()
bgcolor = xlwt.Pattern()
bgcolor.pattern = xlwt.Pattern.SOLID_PATTERN
bgcolor.pattern_fore_colour = 22
dateStyle.pattern = bgcolor

5. 写入数据

# 1. 创建工作簿
wb = xlwt.Workbook()
# 2. 创建工作表
ws = wb.add_sheet("CNY")
# 3. 填充数据
ws.write_merge(0, 1, 0, 5, "2015年货币兑换表", titleStyle)
# 写入数据
data = (("Date", "英镑", "人民币", "港币", "日元", "美元"),
		("01/01/2019", 234.242, 2342, 424, 4353, 345),
        ("01/04/2019", 53.242, 54, 557, 575, 2424))

for i, item in enumerate(data):
    for j, val in enumerate(item):
        if j == 0:
            ws.write(i + 2, j, val, dateStyle)
        else:
            ws.write(i + 2, j, val)
        
# 工作表中插入图片
wsimage = wb.add_sheet("image")
wsimage.insert_bitmap("3.png", 0 , 0)

# 4. 保存
wb.save('2019年——CNY.xls')

6. 完整代码

from turtle import bgcolor
import xlwt

titleStyle = xlwt.XFStyle() # 初始化样式

# 实例化字体对象
titleFont = xlwt.Font()
titleFont.name = '宋体'
titleFont.bold = True
titleFont.height = 11 * 20
titleFont.colour_index = 0x08
titleStyle.font = titleFont

# 实例化单元格对齐方式
cellAlign = xlwt.Alignment()
cellAlign.horz = 0x02
cellAlign.vert = 0x01
titleStyle.alignment = cellAlign

# 实例化单元格边框样式
border = xlwt.Borders()
border.right = xlwt.Borders.DASHED
border.bottom = xlwt.Borders.DOTTED
titleStyle.borders = border

# 实例化单元格背景颜色
dateStyle = xlwt.XFStyle()
bgcolor = xlwt.Pattern()
bgcolor.pattern = xlwt.Pattern.SOLID_PATTERN
bgcolor.pattern_fore_colour = 22
dateStyle.pattern = bgcolor

# 1. 创建工作簿
wb = xlwt.Workbook()
# 2. 创建工作表
ws = wb.add_sheet("CNY")
# 3. 填充数据
ws.write_merge(0, 1, 0, 5, "2015年货币兑换表", titleStyle)
# 写入数据
data = (("Date", "英镑", "人民币", "港币", "日元", "美元"),
		("01/01/2019", 234.242, 2342, 424, 4353, 345),
        ("01/04/2019", 53.242, 54, 557, 575, 2424))

for i, item in enumerate(data):
    for j, val in enumerate(item):
        if j == 0:
            ws.write(i + 2, j, val, dateStyle)
        else:
            ws.write(i + 2, j, val)
        
# 工作表中插入图片
wsimage = wb.add_sheet("image")
wsimage.insert_bitmap("3.png", 0 , 0)

# 4. 保存
wb.save('2019年——CNY.xls')
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值