python的xlrd模块使用,python扩展库xlwt支持对excel

  python的xlrd模块使用,python扩展库xlwt支持对excel

  Xlrd模块可以读取excel文件的内容,xlwt模块可以写入excel文件。固定

  pip安装xlrd

  PIP XLWT一、xlrd模块使用的excel文档名称为contact.xls,内容如下:

  (1)打开excel文件,获取所有工作表。

  导入xlrd

  #打开Excel文件读取数据

  data=xlrd . open _ workbook( contact . xls ,formatting _ info=true)

  #默认formatting_info=False,请注意添加参数formatting_info=True可以保存之前Excel数据的格式。

  Sheet_name=data.sheet_names() #获取所有工作表名称

  Print(sheet_name) # [Bank 2 , Bank 3](2)根据下标获取工作表名称

  #根据下标获取工作表名称

  sheet 2 _ name=data . sheet _ names()[1]

  Print(sheet2_name) # Bank 3(3)根据工作表的索引或名称获取工作表的内容,同时获取工作表的名称、行数和列数。

  #根据工作表的索引或名称获取工作表的内容,获取工作表的名称、列数和行数。

  sheet2=data.sheet_by_index(1)

  Print(sheet2名称:{},sheet2列号:{},sheet2行号:{} 。格式(sheet2.name,sheet2.ncols,sheet2.nrows))

  # sheet2名称:银行3

  # sheet2列数:7

  # sheet2行数:5

  #根据表名获取表内容,获取表名、列数、行数。

  1=data.sheet _ by _ name (bank 2 )

  Print(sheet1名称:{},sheet1列号:{},sheet1行号:{} 。格式(sheet1.name,sheet1.ncols,sheet1.nrows))

  # sheet1名称:银行2

  # sheet1列数:8

  # sheet1行数:6(4)根据工作表名称获取整行和整列的值。

  #根据工作表名称获取整行和整列的值

  1=data.sheet _ by _ name (bank 2 )

  print(sheet1.row_values(3))

  # [ ,张2 ,开发, IT编码,999.0,133111.0,41463.0,张2 @ 164.com]日期是2013年7月7日,但实际显示为浮点数41463.0。

  print(sheet1.col_values(3))

  # [,岗位职责, , IT编码,网络维护, ](5)获取指定单元格的内容

  #获取指定单元格的内容

  Print(sheet1.cell(1,0))。value) #第2行第1列内容:机构名称

  Print(sheet1.cell_value(1,0)) #第2行第1列内容:机构名称

  Print(sheet1.row(1)[0]。value) #第2行第1列内容:机构名称(6)获取单元格内容的数据类型

  #获取单元格内容的数据类型

  Print(sheet1.cell(1,0))。ctype) #第2行第1列内容:机构名称为字符串

  Print(sheet1.cell(3,4)。ctype) #第四行五列的内容:999是数字类型

  Print(sheet1.cell(3,6)。ctype) #第四行七列内容:2013年7月8日为日期类型

  # Description: ctype: 0empty,1string,2number,3date,4Boolean,5error (7)获取单元格内容作为日期类型的方法

  Xldate_as_tuple使用xlrd处理成日期格式。

  从日期时间导入日期时间,日期

  if sheet1.cell(3,6)。ctype==3:

  print(sheet1.cell(3,6)。值)# 41463.0

  date _ value=xlrd . XL date _ as _ tuple(sheet 1 . cell(3,6))。value,data.datemode)

  print(日期值)# (2013,7,8,0,0,0)

  打印(日期(*日期值[:3])# 2013-07-08

  Print(日期(*日期值[:3])。strftime( % y/% m/% d )# 2013/07/08(8)以数字形式获取单元格内容的方法(转换为整数)

  if sheet1.cell(3,5)。ctype==2:

  print(sheet1.cell(3,5)。值)# 133111.0

  num_value=int(sheet1.cell(3,5))。值)

  Print(num_value) # 133111(9)获取合并单元格的内容

  Merged_cells属性是必需的#这里需要在读取文件时添加一个参数,并将formatting_info参数设置为True,默认值为False,否则可能会调用merged_cells属性得到空值。英国铁路公司

  #注意添加参数formatting_info=True可以保存之前数据修改后的格式。

  data=xlrd . open _ workbook( contact . xls ,formatting _ info=true)

  1=data.sheet _ by _ name (bank 2 )

  print(sheet1.merged_cells) # [(0,1,0,8),(2,6,0,1)] br

  # merged_cells返回的这四个参数的含义是:(row,row_range,col,col_range),其中[row,row_range]包括row,

  #除row _ range外,col也是如此,下标从0开始。

  #(0,1,0,8)表示1列-8列合并(2,6,0,1)表示3行-6行合并br

  #分别获取合并的2个单元格的内容:

  Print(sheet1.cell(0,0)。价值)#银行2

  Print(sheet1.cell_value(2,0)) # Bank 2规则:只获取merge_cells返回的row和col低位的索引!

  使用以下方法更加方便merge_value=[]

  对于sheet1.merged_cells中的(行,行范围,列,列范围):

  merge_value.append((row,col))

  print(merge_value) # [(0,0),(2,0)]

  对于合并值中的五:

  print(sheet1.cell(v[0],v[1]).值)

  # 银行2

  # 银行2二、xlwt模块

  常用方法

  1.导入xlwt #导入模块

  2.workbook=xlwt .工作簿(编码=utf-8) #创建练习本对象

  3 .工作表=工作簿。添加工作表(工作表1 )#创建工作表表

  4.worksheet.write(0,0, hello) #往表中写内容

  5.worksheet.write_merge(0,0,0,2, test)#合并单元格

  6.worksheet.col(0)=6000#设置列的宽度

  7.worksheet.row(0).高度=1000#设置单元格高度

  8.workbook.save(hello.xls) #保存表为hello.xls实际应用

  导入xlwt

  从日期时间导入日期时间,日期

  def set_style(name,height,bold=False,format_str= ):

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

  font=xlwt .字体()#为样式创建字体

  font.name=name # Times New Roman

  font.bold=bold

  font.height=高度

  边框=xlwt .边框()#为样式创建边框

  borders.left=6

  borders.right=6

  borders.top=6

  边框。底部=6

  style.font=font

  style.borders=边框

  风格。数字格式字符串=格式字符串

  返回样式

  wb=xlwt .工作簿()

  ws=wb.add_sheet(测试表)#增加表

  ws.col(0).宽度=200*30 #设置第一列列宽

  ws.write(0,0,1234.56,set_style(Times New Roman ,220,bold=True,format_str=#,##0.00 ))

  ws.write(1,0,datetime.now(),set_style(Times New Roman ,220,bold=False,format_str=DD-MM-YYYY ))

  风格ok=xlwt。easyxf(模式:前景色浅蓝色;

  字体:绿色,粗体,真’)

  模式=xlwt .模式()#一个实例化的样式类

  模式。模式=xlwt .模式。实体_模式#固定的样式

  模式。pattern _ fore _ colour=xlwt .Style.colour_map[red]#背景颜色

  styleOK.pattern=模式

  ws.write(2,0,1)

  ws.write(2,2,xlwt .公式(“A3 B3”))

  wb.save(example.xls) #保存电子表格文档联系人表

  导入xlwt

  从日期时间导入日期时间,日期

  def set_style(name,height,bold=False,format_str= ,align=center ):

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

  font=xlwt .字体()#为样式创建字体

  font.name=name # Times New Roman

  font.bold=bold

  font.height=高度

  边框=xlwt .边框()#为样式创建边框

  borders.left=2

  borders.right=2

  borders.top=0

  边框。底部=2

  对齐=xlwt .对齐()#设置排列

  if align==center :

  alignment.horz=xlwt .对齐。水平中心

  alignment.vert=xlwt .对齐垂直中心

  否则:

  alignment.horz=xlwt .对齐。水平左对齐

  alignment.vert=xlwt .对齐。垂直_底部

  style.font=font

  style.borders=边框

  风格。数字格式字符串=格式字符串

  style.alignment=对齐

  返回样式

  wb=xlwt .工作簿()

  ws=wb.add_sheet(联系人,cell_overwrite_ok=True) #增加表

  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(

  《新罗马时报》,

  320,

  粗体=真,

  format_str=)) #合并单元格

  styleOK=xlwt.easyxf()

  模式=xlwt .模式()#一个实例化的样式类

  模式。模式=xlwt .模式。实体_模式#固定的样式

  模式。pattern _ fore _ colour=xlwt .Style.colour_map[黄色] #背景颜色

  边框=xlwt .边框()#为样式创建边框

  borders.left=2

  borders.right=2

  borders.top=6

  边框。底部=2

  font=xlwt .字体()#为样式创建字体

  font.name=Times New Roman

  font.bold=True

  font.height=220

  styleOK.pattern=模式

  styleOK.borders=borders

  styleOK.font=font

  # 写第二行数据

  对于索引,枚举中的值(行):

  ws.col(索引)。宽度=150 * 30 #定义列宽

  ws.write(1,索引,值,

  # 写第3行-6行第一列数据

  ws.write_merge(

  2,

  2透镜(列1)-1,

  0,

  0,

  x机构,

  set_style(

  《新罗马时报》,

  320,

  粗体=真,

  format_str=)) #合并单元格

  # 从第3行开始写一列数据

  对于索引,枚举中的值(列1):

  ws.col(1).宽度=150 * 30 #定义列宽

  ws.write(索引2,1,瓦尔,“新罗马时代”,

  200,

  粗体=假,

  format_str= ,align= ))

  # 从第3行开始写四列数据

  对于索引,枚举中的值(列2):

  ws.col(3).宽度=150 * 30 #定义列宽

  ws.write(索引2,3,瓦尔,“新罗马时代”,

  200,

  粗体=假,

  format_str= ,align= ))

  # 从第3行开始写5列数据

  对于索引,枚举中的值(第3列):

  ws.col(4).宽度=150 * 30 #定义列宽

  ws.write(索引2,4,瓦尔,“新罗马时代”,

  200,

  粗体=假,

  format_str= ,align= ))

  ws.write(4,2,技术部,ws.write(4,5, 186777233 ,ws.write(4,6, 1王@166.com ,wb.save(test.xls) #保存电子表格文档

  去期待陌生,去拥抱惊喜。

郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。

留言与评论(共有 条评论)
   
验证码: