Python -- excel

2020-07-11  本文已影响0人  墨凌风起

coding:utf-8

import xlrd
import xlwt
import xlutils

print(xlrd.doc)

print(dir(xlrd))

#查看帮助文档

print(help(xlrd.open_workbook))

打开工作簿

wrokBook = xlrd.open_workbook('test.xlsx')

查看工作簿中所有属性与方法

print(help(wrokBook))

工作表总数

num = wrokBook.nsheets
print('工作表总数:%d' % num)

所有工作表名

print(wrokBook.sheet_names())

获取所有工作表

print(wrokBook.sheets())

获取某个工作表

1.索引

sheet = wrokBook.sheets()[0]

2.索引

sheet = wrokBook.sheet_by_index(0)

3.通过工作表名

sheet = wrokBook.sheet_by_name('Sheet1')

检查狗哥工作表是否导入完毕

wrokBook.sheet_loaded(sheet_name or index)

行操作

获取工作表的行数

print(sheet.nrows)

获取第n行,包括单元格数据类型与单元格数据值

print(sheet.row(3)) #返回该行所有单元格对象组成的列表

返回该【列】所有单元格对象组成的列表

print(sheet.row_slice(3))

返回该行所有单元格数据类型组成的列表

print(sheet.row_types(3,start_colx=0,end_colx=None))

返回该行所有单元格数据组成的列表

print(sheet.row_values(3,start_colx=0,end_colx=None))

单元格长度

print(sheet.row_len(4))

列操作

获取工作表有效列数

print(sheet.ncols)

该列所有单元格的【对象】组成的列表:类型+数据

print(sheet.col(1,start_rowx=0,end_rowx=None))

该列所有单元格的【对象】组成的列表:类型+数据

print(sheet.col_slice(3,start_rowx=0,end_rowx=None))

该列所有单元格的【数据类型】组成的列表:类型编号

print(sheet.col_types(3,start_rowx=0,end_rowx=None))

该列所有单元格的【数据】组成的列表

print(sheet.col_values(3,start_rowx=0,end_rowx=None))

print('*' * 100)

单元格操作

返回单元格对象

print(sheet.cell(2,2))
print(sheet.cell(2,2).value)

返回单元格数据类型编号

print(sheet.cell_type(2,2))

返回单元格的数据

print(sheet.cell_value(3,3))

xlwt模块

写入Excel

创建excel工作簿,编码

book= xlwt.Workbook(encoding = "utf-8")

创建一个表

sheet = book.add_sheet('测试Sheet2',cell_overwrite_ok = True)

设置样式

style = xlwt.XFStyle()

设置字体

font = xlwt.Font()
font.name = 'Time New Roman'#
font.bold = True #黑体
font.underline = True #下划线
font.italic = True #斜体
font.color_index = 2 #字体颜色,0=black,1=white,2=red,3=green...
style.font = font

写入

sheet.write(1,0,label="this is test")
sheet.write(1,0,'测试') #相同单元格赋值,cell_overwrite_ok= true
sheet.write(1,1,"中国")
sheet.write(1,2,3)
sheet.col(2).width = 10000 #设置单元格宽度
sheet.write(2,1,'添加中国元素',style) #带样式添加

输入一个日期到单元格

import datetime
style = xlwt.XFStyle()
style.num_format_str = 'yyyy-MM-DD h:mm:ss'
sheet.write(2,2,datetime.datetime.now(),style)

输入一个超链接

sheet.write(3,2,xlwt.Formula('HYPERLINK("https://www.baidu.com/";"百度")'))

插入公式

sheet.write(5,0,15)
sheet.write(5,1,24)
sheet.write(5,2,2)
sheet.write(5,3,6)
sheet.write(5,4,xlwt.Formula('SUM(A6*C6)'))
sheet.write(5,5,xlwt.Formula('SUM(A6,D6)'))
sheet.write(5,6,xlwt.Formula('SUM(A6:D6)'))

对齐方式

alignment = xlwt.Alignment()
alignment.horz = xlwt.Alignment.HORZ_CENTER #HORZ_GENERAL,HORZ_CENTER/RIGHT/FILLED/JUSTIFIED/CENTER_ACROSS-SEL/DISTRIBUTED
alignment.vert = xlwt.Alignment.VERT_CENTER #VERT_TOP/CENTER/BOTTOM/JUSTFIED/DISTRIBUTED
style.alignment = alignment
sheet.write(6,0,'河靖',style)
sheet.write(6,1,'靖远')

保存 文件存在就覆盖

book.save('xlwt_test.xls')

xlutils提供复制功能

from xlutils.copy import copy

new_book = copy(wrokBook)
new_sheet = new_book.get_sheet(0)
new_sheet.write(10,0,'复制')
new_book.save('xlwt_test1_copy.xls')

上一篇下一篇

猜你喜欢

热点阅读