xlrd和xlwt处理的是xls文件,单个sheet最大行数是65535能够满足一般的读写需求。
如果有更大需要的,建议使用openpyxl函数,最大行数达到1048576。
1、用openpyxl读取excel
import openpyxl
#读excel
def readExel(self,fileName): inwb = openpyxl.load_workbook(fileName) sheetnames = inwb.get_sheet_names() # 获取读文件中所有的sheet,通过名字的方式 ws = inwb.get_sheet_by_name(sheetnames[0]) # 获取第一个sheet内容 # 获取sheet的最大行数和列数 rows = ws.max_row cols = ws.max_column for r in range(1,rows): for c in range(1,cols): print(ws.cell(r,c).value)
#写入excel
def writeExcel(self,fileName): outwb = openpyxl.Workbook() # 打开一个将写的文件 outws = outwb.create_sheet(index=0) # 在将写的文件创建sheet for row in range(1,70000): for col in range(1,4): outws.cell(row, col).value = row*2 # 写文件 outwb.save(fileName) # 一定要记得保存
2、用 xlrd和xlwt读取excel:
1、打开excel
readbook = xlrd.open_workbook(r‘\test\canying.xlsx‘)
2、获取读入的文件的sheet
sheet = readbook.sheet_by_index(1)#索引的方式,从0开始
sheet = readbook.sheet_by_name(‘sheet2‘)#名字的方式
3、获取sheet的最大行数和列数
nrows = sheet.nrows#行
ncols = sheet.ncols#列
4、获取某个单元格的值
lng = table.cell(i,3).value#获取i行3列的表格值
lat = table.cell(i,4).value#获取i行4列的表格值
5、打开将写的表并添加sheet
writebook = xlwt.Workbook()#打开一个excel
sheet = writebook.add_sheet(‘test‘)#在打开的excel中添加一个sheet
6、将数据写入excel
sheet.write(i,0,result[0])#写入excel,i行0列
sheet.write(i,1,result[1])
7、保存
writebook.save(‘answer.xls‘)#一定要记得保存
参考:
https://www.cnblogs.com/shaosks/p/6098282.html
原文:https://www.cnblogs.com/51python/p/10544092.html