openpyxl只能操作xlsx文件而不能操作xls文件。
主要用到三个概念:
1、Workbook:excel工作表
2、Sheet:工作表中的一张表页
3、Cell:其中的一个简单的格
不管读写都是“三板斧”:打开Workbook,定位Sheet,操作Cell。
读取xlsx文件:
import openpyxl#打开xlsx文件wb = openpyxl.load_workbook('question_bank.xlsx')print(type(wb))#查看excel表中的sheet页print(wb.sheetnames)sheet = wb.get_sheet_by_name("单选")print(sheet["C"]) #第C列print(sheet["4"]) #第4行print(sheet["C4"].value) #第C4格的值print(sheet.max_row) #最大行数print(sheet.max_column) #最大列数#C列中的所有值for i in sheet["C"]: print(i.value,end=" ")
写入xlsx:
from openpyxl import Workbook#创建一个工作表wb = Workbook()#找到活动的sheet页。空的excel表默认的sheet页就叫Sheet,如果想改名字,可以直接给title属性赋值。#这个只针对当前活动页,别的页的话,可以用create_sheet和remove_sheet进行添加和删除。sheet = wb.activesheet.title = "New Shit"#往sheet页里面写内容sheet['C3'] = 'Hello world!'for i in range(10): sheet["A%d" % (i+1)].value = i + 1#还可以用公式, sheet["E1"].value = "=SUM(A:A)" wb.save('保存一个新的excel.xlsx')