python中的xlwt模块,python xlwt设置单元格格式
本文主要介绍Python如何使用xlrd和xlwt模块操作excel表格的一些信息,其中xlrd模块可以读取excel文件的内容,xlwt模块可以写入Excel文件。有需要的可以参考一下。
00-1010简介:安装:初始数据:xlrd用途:xlwt用途:xlwt用途示例2:摘要
目录
Xlrd和xlwt是python的第三方库。xlrd模块可以读写excel文件。
简介:
pip安装xlrd
pip安装xlwt
安装:
excelLearn.xls
个人信息表:
姓名和地址汤姆26 CNJO27英国百合28 USKIM 29 JP班级成绩表:
考试日期班级分数2020/1/1 10336020 a 16021/1/2 10336040 a 2802022/1/3 10336050 a 390第三页:空
初始数据:
细节:没有价值的地方,获取。请注意,索引超出了界限。如果超出界限,将引发异常。
1.打开Excel文件读取数据。
2.根据下标获取工作表名称
3.根据工作表的索引或名称获取工作表的内容,获取工作表的名称、列数和行数。
4.根据工作表名称获取整行和整列的值。
5.获取指定单元格的内容。
6.获取单元格内容的数据类型。
7.如何获取单元格内容的日期类型?
8.获取$ number单元格内容的方法(转换为整数)
导入xlrd
#打开Excel文件读取数据
data=xlrd . open _ workbook( excelle arn . xls )
Sheet_name=data.sheet_names() #获取所有工作表名称
Print(sheet_name) # [个人信息表,班级报告表, Sheet3]
#根据下标获取工作表名称
sheet 2 _ name=data . sheet _ names()[1]
打印(sheet2_name) #班级报告单
#根据工作表的索引或名称获取工作表的内容,获取工作表的名称、列数和行数。
1=data.sheet _ by _ name(个人信息表)
print( sheet 1 name :{}\nsheet1列号:{} \ n sheet 1行号: { } 。格式(sheet1.name,sheet1.ncols,sheet1.nrows))
# sheet1 Name :个人信息表
# sheet1列数: 3
# sheet1行数: 5
打印()
sheet2=data.sheet_by_index(1)
print( sheet 2 name 3360 { } \ n sheet 2 column number 3360 { } \ n sheet 2 row number 3360 { } 。格式(sheet2.name,sheet2.ncols,sheet2.nrows))
# sheet2 Name :班级成绩表
# sheet2列数: 3
# sheet2行数: 4
#根据工作表名称获取整行和整列的值
工作表1=
data.sheet_by_name(个人信息表)
print(sheet1.row_values(0)) # 第一行:[姓名, 年龄, 地址]
print(sheet1.row_values(1)) # 第二行:[Tom, 26.0, CN]
print(sheet1.col_values(1)) # 第二列:[年龄, 26.0, 27.0, 28.0, 29.0]
print(sheet1.col_values(2)) # 第三列:[地址, CN, UK, US, JP]
# 获取指定单元格的内容
print(sheet1.cell(0, 0).value) # 第1行1列内容:姓名
print(sheet1.cell_value(1, 1)) # 第2行2列内容:26.0
print(sheet1.row(2)[2].value) # 第3行3列内容:UK
# 获取单元格内容的数据类型:说明:ctype : 0 empty,1 string, 2 number, 3 date, 4 boolean, 5 error
print(sheet1.cell(0, 0).ctype) # 第1行1列内容:姓名为string类型 -> 1
print(sheet1.cell(1, 1).ctype) # 第2行2列内容:26.0为number类型 -> 2
# 获取到日期转为date格式
from datetime import datetime, date
if sheet2.cell(1, 0).ctype == 3:
print(sheet2.cell(1, 0).value) # 43831.43090277778
date_value = xlrd.xldate_as_tuple(sheet2.cell(1, 0).value, data.datemode)
print(date_value) # (2020, 1, 1, 10, 20, 30)
print(date(*date_value[:3])) # 2020-01-01
print(date(*date_value[:3]).strftime(%Y/%m/%d)) # 2020/01/01
# 获取单元内容为number的方式(转为整型)
if sheet1.cell(1, 1).ctype == 2:
print(sheet1.cell(1, 1).value) # 26.0
num_value = int(sheet1.cell(1, 1).value)
print(num_value) # 26
# IndexError: list index out of range
# 没有第9行第9列的值,获取会抛出异常。
# print(sheet1.cell(8, 8))
xlwt使用:
import xlwt
from datetime import datetime
def set_style(name, height, bold=False, format_str=):
style = xlwt.XFStyle() # 初始化样式
font = xlwt.Font() # 为样式创建字体
font.name = name # Times New Roman
font.bold = bold
font.height = height
borders = xlwt.Borders() # 为样式创建边框
borders.left = 6
borders.right = 6
borders.top = 6
borders.bottom = 6
style.font = font
style.borders = borders
style.num_format_str = format_str
return style
wb = xlwt.Workbook()
ws = wb.add_sheet(代码生成sheet) # 增加sheet
ws.col(0).width = 200 * 30 # 设置第一列列宽
ws.write(0, 0, 11.22, set_style(Times New Roman, 220, bold=True, format_str=#,##0.00))
ws.write(0, 1, "新增文字", set_style(Times New Roman, 220, bold=True))
ws.write(1, 0, datetime.now(), set_style(Times New Roman, 220, bold=False, format_str=DD-MM-YYYY))
styleOK = xlwt.easyxf(pattern: fore_colour light_blue;
font: colour green, bold True;)
pattern = xlwt.Pattern() # 一个实例化的样式类
pattern.pattern = xlwt.Pattern.SOLID_PATTERN # 固定的样式
pattern.pattern_fore_colour = xlwt.Style.colour_map[pink] # 背景颜色
styleOK.pattern = pattern
ws.write(2, 0, 1, style=styleOK)
ws.write(2, 1, 1)
ws.write(2, 2, xlwt.Formula("A3+B3"))
wb.save(write.xls) # 保存xls
运行结果产出的Excel1:
xlwt使用示例2:
import xlwtfrom datetime import datetime, date
def set_style(name, height, bold=False, format_str=,align=center):
style = xlwt.XFStyle() # 初始化样式
font = xlwt.Font() # 为样式创建字体
font.name = name # Times New Roman
font.bold = bold
font.height = height
borders = xlwt.Borders() # 为样式创建边框
borders.left = 2
borders.right = 2
borders.top = 0
borders.bottom = 2
alignment = xlwt.Alignment() # 设置排列
if align== center:
alignment.horz = xlwt.Alignment.HORZ_CENTER
alignment.vert = xlwt.Alignment.VERT_CENTER
else:
alignment.horz = xlwt.Alignment.HORZ_LEFT
alignment.vert = xlwt.Alignment.VERT_BOTTOM
style.font = font
style.borders = borders
style.num_format_str = format_str
style.alignment = alignment
return style
wb = xlwt.Workbook()
ws = wb.add_sheet(联系人,cell_overwrite_ok=True) # 增加sheet
rows = [机构名称, 姓名, 部门, 电话, 入职日期, 手机, 邮箱]
col1 = [王1, 王2, 王3]
col2 = [666, 777,888]
col3 = [2014-08-09,2014-08-11,2015-08-09]
# 写第一行数据
ws.write_merge(
0,
0,
0,
6,
联系人表,
set_style(
Times New Roman,
320,
bold=True,
format_str=)) # 合并单元格
styleOK = xlwt.easyxf()
pattern = xlwt.Pattern() # 一个实例化的样式类
pattern.pattern = xlwt.Pattern.SOLID_PATTERN # 固定的样式
pattern.pattern_fore_colour = xlwt.Style.colour_map[yellow] # 背景颜色
borders = xlwt.Borders() # 为样式创建边框
borders.left = 2
borders.right = 2
borders.top = 6
borders.bottom = 2
font = xlwt.Font() # 为样式创建字体
font.name = Times New Roman
font.bold = True
font.height = 220
styleOK.pattern = pattern
styleOK.borders = borders
styleOK.font = font
# 写第二行数据
for index, val in enumerate(rows):
ws.col(index).width = 150 * 30 # 定义列宽
ws.write(1, index, val, style=styleOK)
# 写第3行-6行第一列数据
ws.write_merge(
2,
2 + len(col1)-1,
0,
0,
x机构,
set_style(
Times New Roman,
320,
bold=True,
format_str=)) # 合并单元格
# 从第3行开始写1列数据
for index, val in enumerate(col1):
ws.col(1).width = 150 * 30 # 定义列宽
ws.write(index+2, 1, val, style=set_style(Times New Roman,
200,
bold=False,
format_str=,align=))
# 从第3行开始写4列数据
for index, val in enumerate(col2):
ws.col(3).width = 150 * 30 # 定义列宽
ws.write(index+2, 3, val, style=set_style(Times New Roman,
200,
bold=False,
format_str=,align=))
# 从第3行开始写5列数据
for index, val in enumerate(col3):
ws.col(4).width = 150 * 30 # 定义列宽
ws.write(index+2, 4, val, style=set_style(Times New Roman,
200,
bold=False,
format_str=,align=))
ws.write(4, 2,技术部, style=styleOK)
ws.write(4, 5,186777233, style=styleOK)
ws.write(4, 6,wang@166.com, style=styleOK)
wb.save(write2.xls) # 保存xls
运行结果产出的Excel2:
总结
到此这篇关于Python如何利用xlrd和xlwt模块操作Excel表格的文章就介绍到这了,更多相关Python操作Excel表格内容请搜索盛行IT软件开发工作室以前的文章或继续浏览下面的相关文章希望大家以后多多支持盛行IT软件开发工作室!
郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。