通过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()