1.安装xlrd:pip install xlrd
2.导入模块:import xlrd
3.打开Excel文件读取数据
data = xlrd.open_workbook('../dataconfig/interface.xlsx')
4.获取一个工作表(两种方式都可以)
table = data.sheets()[0] #通过索引顺序获取
table = data.sheet_by_index(0) #通过索引顺序获取
5.获取表名称
name = table.name
6.获取行数和列数
nrows = table.nrows
nclos = table.ncols
7.获取某行和某列的值
row_value= table.row_values(i)
col_value = table.col_values(i)
8.循环 行/列 的数据
for i in range(nrows):
print(table.row_values(i))
for j in range(nclol):
print(table.col_values(j))
9.获取单元格数据(两种方式)
cellvalue = table.cell(row,col).value
cellvalue = table.cell_value(row,col)
代码参考:将相关方法进行封装,使用过程可以直接调用:
#coding:utf-8
import xlrd
class OperationExcel:
def __init__(self,file_name=None,sheet_id=None):
if file_name:
self.file_name = file_name
self.sheet_id = sheet_id
else:
self.file_name = '../dataconfig/interface.xlsx'
self.sheet_id = 0
self.data = self.get_data()
#获取sheets的内容
def get_data(self):
data = xlrd.open_workbook(self.file_name)
tables = data.sheets()[self.sheet_id]
return tables
#获取单元格的行数
def get_lines(self):
tables = self.data
return tables.nrows
#获取某一个单元格的内容
def get_cell_value(self,row,col):
tables = self.data
cell = tables.cell_value(row,col)
return cell
if __name__ == '__main__':
opexcel = OperationExcel()
print(opexcel.get_cell_value(1,2))
1.安装下载:pip install xlwt
2.导入:import xlwt
3.参考:
3.1 生成excel文件test1.xls
file_name = '../dataconfig/test1.xls'
wbk = xlwt.Workbook() #初始化workbook对象
sheet = wbk.add_sheet('My_Worksheet') #创建表
sheet.write(0,0,'ok') #往单元格写入内容
wbk.save(file_name) #保存
3.2 如果对同一单元多次操作,报错
file_name = '../dataconfig/test1.xls'
wbk = xlwt.Workbook()
sheet = wbk.add_sheet('My_Worksheet')
sheet.write(0,1,'ok')
sheet.write(0,1,'hhok')
wbk.save(file_name)
#报错:
#Exception: Attempt to overwrite cell: sheetname='My_Worksheet' rowx=0 colx=1
3.3 解决方案:
使用cell_overwrite_ok=True来创建worksheet
sheet = wbk.add_sheet('My_Worksheet',cell_overwrite_ok=True)
实际场景:
需要将执行结果放入特定单元格中或者对特定单元格数据进行修改,
Python中一般使用xlrd(excel read)来读取Excel文件,用xlrd读取excel是不能对其进行操作的:xlrd.open_workbook()方法返回xlrd.Book类型,是只读的,不能对其进行操作;
使用xlwt(excel write)来生成Excel文件,xlwt.Workbook()返回的xlwt.Workbook类型的save(filepath)方法可以保存excel文件。
xlutils(依赖于xlrd和xlwt)提供复制excel文件内容和修改文件的功能,其实际也只是在xlrd.Book和xlwt.Workbook之间建立了一个管道而已。
1.安装下载:pip install xlutils
2.导入:from xlutils.copy import copy
3.示例:
file_name = '../dataconfig/interface.xls'
rb = xlrd.open_workbook(file_name)
print(type(rb))
wb = copy(rb) #管道作用:利用xlutils.copy函数,将xlrd.Book转为xlwt.Workbook,再用xlwt模块进行存储
print(type(wb))
wb.get_sheet(0).write(1,1,'ok') #通过get_sheet()获取的sheet有write()方法
wb.save(file_name)
输出结果:
4.excel修改流程如图
-----------------------------------------------------------------------------------------------------------------------------------------------------------------------
原文:
https://www.cnblogs.com/shapeL/p/9075843.html
https://www.cnblogs.com/shapeL/p/9108936.html