一、用到模块 xird、 openpyxl

pip install xird
pip install openpyxl
  • ​xlrd​​​能处理的最大行数为​​65535​​​,​​openpyxl​​​最大支持​​1048576​​​行,​​openpyxl​​不支持xls格式文件

二、读Excel

import xlrd

book=xlrd.open_workbook('stu.xls') # 打开Excel
sheet=book.sheet_by_index(0) # 根据编号获取sheet页
#sheet=book.sheet_by_name('sheet1') # 也可以根据sheet页名字获取sheet页

print(sheet.nrows) # Excel总行数
print(sheet.ncols) # Excel总列数

print(sheet.cell(0,0).value) #获取到指定单元格的内容
print(sheet.cell(0,1).value) #获取到指定单元格的内容

print(sheet.row_values(0)) #获取到整行的内容
print(sheet.col_values(0)) #获取到整列的内容

for i in range(sheet.nrows): #循环获取每行的内容
print(sheet.row_values(i))

三、修改Excel

由于xlwt模块只能写一次,再重新打开Excel后会覆盖原来的内容;而xlrd模块只能读,因此修改Excel就要使用xlutils模块了

#import xlutils
import xlrd #两个模块配合使用
from xlutils import copy
import os

book=xlrd.open_workbook('student.xls')
# 先用xlrd打开一个Excel
new_book=copy.copy(book)
# 然后用xlutils里面的copy功能,复制一个Excel

sheet=new_book.get_sheet(0) # 获取sheet页,注意这里的sheet 页是xlutils里的,只能用.get_sheet()的方法获取了

sheet.write(0,0,'ID')

os.rename('student.xls','student_bak.xls') # 先把之前的Excel改下名字,之前的内容不至于丢失

new_book.save('student.xls') # 修改完内容后再保存成同名的Excel