python通过xlrd读取文件

通过python第三方库xlrd,xlwt读写excel文件数据

import re
import xlrd  # 引入读表库 也可以使用pandas库
import xlwt  #引入写表库



#读取表格信息的方法
def readexcel(path):
    # self.path = path
    wb=xlrd.open_workbook(path)   # 打开文件并返回一个工作蒲对象。open_workbook可以点进去看看函数里面的参数的含义之类的,很详细,英语不好的可以百度翻译,翻译出来的结果差不多。
    writrfile = xlwt.Workbook(encoding='utf-8', )
    sheet_num = wb.nsheets  # 获取excel里面的sheet的数量
    table = wb.sheets()[0]  # 通过索引顺序获取
    sheet_names = wb.sheet_names()  # 获取到Excel里面所有的sheet的名称列表,即使没有sheet也能用。
    sheet = wb.sheet_by_index(0)  # 通过索引的方式获取到某一个sheet,现在是获取的第一个sheet页,也可以通过sheet的名称进行获取,sheet_by_name('sheet名称')
    rows = sheet.nrows  # 获取sheet页的行数,一共有几行
    columns = sheet.ncols  # 获取sheet页的列数,一共有几列
    # 获取第一行的数据
    row_data = sheet.row_values(0)  # 返回给定的行数的单元格数据进行切片
    # 获取第二行的数据
    row_data2 = sheet.row_values(1)  # 返回给定的行数的单元格数据进行切片
    # 获取第二列的数据
    col_data1 = sheet.col_values(1)
    # 获取第一列的数据
    col_data = sheet.col_values(0)
    # 获取第三列的数据
    col_data2 = sheet.col_values(2)
    # 获取第四列的数据
    col_data3 = sheet.col_values(3)
    # 获取第五列的数据
    col_data4 = sheet.col_values(4)
    # 获取第14列的数据
    col_data13 = sheet.col_values(13)
    # 获取单元格的数据
    # one_data=sheet.cell(row_index,col_index)  #同样是通过索引的方式,cell(0,1)获取到的是第一行第二列的单元格数据
    # cell_value=one_data.value  #获取单元格的值
    # cell_type=one_data.ctype   #获取单元格的类型,在xlrd中,单元格的数据类型有6种,
    # 0  --  空(empty)
    # 1  --  字符串(string)
    # 2  --  数字(number)
    # 3  --  date(日期)
    # 4  --  boolean(布尔值)
    # 5  --  error(错误)


    # print(sheet_num)
    # print(table)
    # print(sheet_names)
    # print(sheet)
    # print(rows)
    # print(columns)
    # print(row_data)
    # print(row_data2)
    # print(col_data)
    # print(sheet.cell(1, 0))
    # tool = sheet.cell(1, 0).value
    # tool = "支付宝"
    # sheet.cell(1, 0).value = tool
    # print(tool)
    sheet1 = writrfile.add_sheet('sheet1', cell_overwrite_ok=True)

    # 返回行数,列数,第一行数据,第二行数据,获取第一列的数据,获取第二列的数据,获取第三列的数据,获取第五列的数据,14列保单号【8】,获取第四列的数据[9]
    return rows,columns,row_data,row_data2 ,col_data,col_data1,col_data2,col_data4,col_data13,col_data3

# 读取小于14列的方法
def readexcel14(path):
    # self.path = path
    wb=xlrd.open_workbook(path)   # 打开文件并返回一个工作蒲对象。open_workbook可以点进去看看函数里面的参数的含义之类的,很详细,英语不好的可以百度翻译,翻译出来的结果差不多。
    writrfile = xlwt.Workbook(encoding='utf-8', )
    sheet_num = wb.nsheets  # 获取excel里面的sheet的数量
    table = wb.sheets()[0]  # 通过索引顺序获取
    sheet_names = wb.sheet_names()  # 获取到Excel里面所有的sheet的名称列表,即使没有sheet也能用。
    sheet = wb.sheet_by_index(0)  # 通过索引的方式获取到某一个sheet,现在是获取的第一个sheet页,也可以通过sheet的名称进行获取,sheet_by_name('sheet名称')
    rows = sheet.nrows  # 获取sheet页的行数,一共有几行
    columns = sheet.ncols  # 获取sheet页的列数,一共有几列
    # 获取第一行的数据
    row_data = sheet.row_values(0)  # 返回给定的行数的单元格数据进行切片
    # 获取第二行的数据
    row_data2 = sheet.row_values(1)  # 返回给定的行数的单元格数据进行切片
    # 获取第二列的数据
    col_data1 = sheet.col_values(1)
    # 获取第一列的数据
    col_data = sheet.col_values(0)
    # 获取第三列的数据
    col_data2 = sheet.col_values(2)
    # 获取第四列的数据
    col_data3 = sheet.col_values(3)
    # 获取第五列的数据
    col_data4 = sheet.col_values(4)
    # 获取第14列的数据
    # col_data13 = sheet.col_values(13)
    # 获取单元格的数据
    # one_data=sheet.cell(row_index,col_index)  #同样是通过索引的方式,cell(0,1)获取到的是第一行第二列的单元格数据
    # cell_value=one_data.value  #获取单元格的值
    # cell_type=one_data.ctype   #获取单元格的类型,在xlrd中,单元格的数据类型有6种,
    # 0  --  空(empty)
    # 1  --  字符串(string)
    # 2  --  数字(number)
    # 3  --  date(日期)
    # 4  --  boolean(布尔值)
    # 5  --  error(错误)


    # print(sheet_num)
    # print(table)
    # print(sheet_names)
    # print(sheet)
    # print(rows)
    # print(columns)
    # print(row_data)
    # print(row_data2)
    # print(col_data)
    # print(sheet.cell(1, 0))
    # tool = sheet.cell(1, 0).value
    # tool = "支付宝"
    # sheet.cell(1, 0).value = tool
    # print(tool)
    sheet1 = writrfile.add_sheet('sheet1', cell_overwrite_ok=True)

    # 返回行数,列数,第一行数据,第二行数据,获取第一列的数据,获取第二列的数据,获取第三列的数据,获取第五列的数据,获取第四列的数据[9]
    return rows,columns,row_data,row_data2 ,col_data,col_data1,col_data2,col_data4,col_data3




# a.readexcel()




评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值