|
#①xlrd(读)
#coding:utf-8
import xlrd
data = xlrd.open_workbook("test.xls")#打开test.xls
names = data.sheet_names() #获取xls文件中所有sheet的名称
table1 = data.sheets()[0] #获取xls文件的第一个工作表
table2 = data.sheet_by_index(0) #通过索引获取xls文件第0个工作表
table3 = data.sheet_by_name(u'Sheet1') #通过工作表名获取工作表
#获取相应工作表的行数和列数
nrows = table1.nrows #获取行数
ncols = table1.ncols #获取列数
#获取整行和整列的值(返回列表对象)
val1 = table1.row_values(0) #获取第1行的数据
val2 = table1.col_values(0) #获取第1列的数据
print val1
#循环行,获得索引的列表
for row in range(table1.nrows):
print table1.row_values(row)
#获取指定单元格的值
cell_A1 = table1.cell(0,0).value
#分别使用行列索引
cell_A1 = table1.row(0)[0].value
cell_A2 = table1.col(1)[0].value
#简单的写入(不知道为什么没办法保存到文件)
row = 0
col = 0
ctype = 1 #类型 0 空,1 字符串,2 数字,3 日期,4 布尔,5 错误
value = '王Tacey'
xf = 0 #扩展的格式化(默认是0)
table1.put_cell(row,col,ctype,value,xf)
print table1.cell(0,0)
print table1.cell(0,0).ctype #返回1,代表文本类型
print table1.cell(0,0).value.decode("UTF-8") #str类型,使用decode是为了显示中文
#②xlwt(写)
import xlwt
file = xlwt.Workbook()
table = file.add_sheet("sheet name") #新建一个工作表
table.write(0,0,u'赵钱孙李')
#overwrite_ok=True --->允许单元格重复操作
table = file.add_sheet("ttttt",cell_overwrite_ok = True)
file.save("demo.xls") #保存文件
#使用样式
style = xlwt.XFStyle() #初始化样式
font = xlwt.Font #为样式创建字体
font.name = "Times New Roman"
font.height = 10
font.bold = True #是否加粗
style.font = font #为样式设置字体
table.write(0,2,"bold times text",style)
file.save("demo.xls") #保存文件(出错) |
|
|