python操作excel

  excel操作一般是读写分离,我用的是xlrd(读),xlwt(写)

import xlrd

# 返回工作簿对象
data = xlrd.open_workbook('xxx.xls')
print(type(data),data)

# 获取工作表

# 第一 索引取表 也就是sheets
table = data.sheets()[0]
print(type(table),table)

# 第二 通过sheet名取表
table = data.sheet_by_name('Sheet1')
print(table.name)

# 以列表的方式获取整行或者整列的数据

    # 第三行
t1 = table.row_values(2)
print(type(t1),t1)

    # 第二列
t2 = table.col_values(1)
print(type(t2),t2)

# 获取行数和列数
nrow = table.nrows
print(type(nrow))
print(str(nrow) + '行')
ncol = table.ncols
print(str(ncol) + '列')


# 循环获取整张表

for i in range(nrow):
    print(table.row_values(i))


# 单元格取值
cell_b2 = table.cell(1,1).value
print(cell_b2)

# 行列索引取值
cell_b3 = table.row_values(1)[2]
cell_a3 = table.row(0)[2].value
print(cell_b3)
print(cell_a3)

#写入
for i in range(6):
    table.put_cell(5,i,i,str(i)+'hello',0)

# 感觉也只是内存级别的写入
print(table.cell(5,1).value)


import xlwt

# 创建工作簿
workbook = xlwt.Workbook()

# 创建sheet
sheet1 = workbook.add_sheet('sheet1',cell_overwrite_ok=True)
sheet2 = workbook.add_sheet('sheet2',cell_overwrite_ok=True)


# 向sheet中写入数据
sheet1.write(0,0,'hello')
sheet1.write(0,1,'hello2')

sheet2.write(1,2,'nimei')
sheet2.write(2,2,'nimei2')

# 保存并命令文件,如果有,覆盖
workbook.save('tst.xls')

# 定义样式
style = xlwt.XFStyle()
font = xlwt.Font()
font.name = "黑体"
font.bold = True

style.font = font
sheet1.write(2,2,'blod text',style)
sheet1.write(3,3,'hello',style)
workbook.save('tst.xls')

 

posted @ 2017-08-28 22:43  财经知识狂魔  阅读(275)  评论(0编辑  收藏  举报