• 解析文件格式,参考模板压缩包,第二次更新


     1 #!/usr/bin/python3
     2 # -*-coding:utf-8-*-
     3 #python读取Excel中单元格的内容返回的有5种类型ctype : 0 empty,1 string, 2 number, 3 date, 4 boolean, 5 error
     4 #显示单元格属性方法sheet.cell(row,col).ctype 
     5 import xlrd
     6 data = xlrd.open_workbook('example.xlsx')  #读取数据
     7 page = len(data.sheets())                             #获取sheet的数量
     8 table = data.sheets()[0]                                #打开第一张表
     9 nrows = table.nrows                                     #获取总行数
    10 ncols = table.ncols                                       #获取总列数   
    11 
    12 for i in range(nrows):                                     #循环打印每行的数据
    13   print(table.row_values(i))
    14 
    15 
    16 from xlwt import *
    17 #------------------读数据---------------------------------
    18 fileName="example.xlsx"
    19 bk = xlrd.open_workbook(fileName)
    20 shxrange = range(bk.nsheets)
    21 try:
    22   sh = bk.sheet_by_name("Sheet1")
    23 except:
    24   print("代码出错")
    25 nrows = sh.nrows #获取行数
    26 ncols = sh.ncols #获取列数
    27 book = Workbook(encoding='utf-8')
    28 sheet = book.add_sheet('Sheet1') #创建一个sheet
    29 list_type = []
    30 for i in range(0,nrows):
    31   row_data = sh.row_values(i)
    32   #获取第i行第3列数据
    33   #sh.cell_value(i,3)
    34   #---------写出文件到excel--------
    35   #print ("-----正在写入 "+str(i)+" 行-----")
    36   for j in range(0,ncols):
    37       sheet.write(i,j, label = sh.cell_value(i,j)) #向第i行第j列写入获取到的值
    38       if i == nrows - 1:#获取最后一行数据的数据类型
    39          list_type.append(sh.cell(i,j).ctype)
    40 print("-----数据一共打印:" + str(nrows-1) + "行-----")
    41 print("数据类型:")         
    42 print(list_type)
    43 '''
    44   sheet.write(i,0, label = sh.cell_value(i,0)) #向第1行第1列写入获取到的值
    45   sheet.write(i,1, label = sh.cell_value(i,1)) #向第1行第2列写入获取到的值
    46   sheet.write(i,2, label = sh.cell_value(i,2)) #向第1行第3列写入获取到的值
    47   sheet.write(i,3, label = sh.cell_value(i,3)) #向第1行第4列写入获取到的值
    48   sheet.write(i,4, label = sh.cell_value(i,4)) #向第1行第5列写入获取到的值
    49   sheet.write(i,5, label = sh.cell_value(i,5)) #向第1行第6列写入获取到的值
    50   sheet.write(i,6, label = sh.cell_value(i,6)) #向第1行第7列写入获取到的值
    51   sheet.write(i,7, label = sh.cell_value(i,7)) #向第1行第8列写入获取到的值
    52   sheet.write(i,8, label = sh.cell_value(i,8)) #向第1行第9列写入获取到的值
    53   sheet.write(i,9, label = sh.cell_value(i,9)) #向第1行第10列写入获取到的值
    54   sheet.write(i,10, label = sh.cell_value(i,10)) #向第1行第11列写入获取到的值
    55 '''
    56 book.save("new.xls")
  • 相关阅读:
    ES6函数剩余参数(Rest Parameters)
    ES6函数默认参数(Default Parameters)
    Mac os下换行符导致发布到npm里的命令行模块不能使用问题
    Mac OSX下卸载Nodejs
    ES6箭头函数(Arrow Functions)
    IE6-9不支持Textarea的maxlength属性
    日期相关的小函数汇总
    IE6-11使用location.href提交时的链接复制到firefox或chrome时出现乱码
    表驱动法
    PlaceHolder的两种实现方式
  • 原文地址:https://www.cnblogs.com/dog-and-cat/p/11455701.html
Copyright © 2020-2023  润新知