1 概述
2 常用对象
2.1 工作簿 workbook
2.2 工作表 sheet
import openpyxl
# 设置 工作簿的名称及格式
file_name = 1.xlsx
# 加载
lwb = openpyxl.load_workbook(file_name)
# 具体操作
sheet = lwb[Sheet]
# 追加
sheet.append([姓名, 性别, 年龄])
sheet.append([张三, 女, 18])
sheet.append([李四, 男, 19])
sheet.append([王五, 女, 20])
sheet.append({
A: A列, B: B列}) # 部分值
# 删除
# delete_rows(idx, amount=1) idx 行开始(含),往下删除 amount 行
# delete_cols(idx, amount=1) idx 列开始(含),往右...
sheet.delete_rows(3)
sheet.delete_cols(3)
# 获取
print(sheet.title) # 标题
print(sheet.dimensions) # 表格大小,如 A1:C4
print(sheet.rows) # 行对象
print(sheet.min_row) # 最小行
print(sheet.max_row) # 最大行
print(sheet.columns) # 列对象
print(sheet.min_column) # 最小列
print(sheet.max_column) # 最大列
print(--------- 分割线 1 ---------)
print(sheet.values) # 值对象
print(sheet.iter_rows()) # 行数据对象
print(sheet.iter_cols()) # 列数据对象
print(sheet[A1].value) # A1 单元格的数据
print(--------- 分割线 2 ---------)
# 遍历数据
for row in sheet.iter_rows():
for cell in row:
print(cell.row, cell.column, cell.value)
# 保存后生效
lwb.save(file_name)
2.3 单元格 cell
import openpyxl
# 设置 工作簿的名称及格式
file_name = 1.xlsx
# 加载
lwb = openpyxl.load_workbook(file_name)
# 具体操作
sheet = lwb[Sheet]
# 获取,单个单元格
cell1 = sheet[A1] # A1 单元格
cell2 = sheet.cell(1, 1) # 效果同上
print(cell1.value)
print(cell2.value)
# cell1.value = 修改
# 获取,多个单元格
cellList = sheet[A1:B2]
for item in cellList:
for cell in item:
print(cell.row, cell.column, cell.value)
# 保存后生效
lwb.save(file_name)
3 示例
3.1 遍历 Excel
import openpyxl
def read_excel(file_name):
"""
遍历 sheet 中的数据
:param file_name: 文件名
"""
lwb = openpyxl.load_workbook(file_name)
# sheet 列表
sheets = lwb.worksheets
print(sheets)
# 遍历
for sheet in sheets:
print(f开始遍历:{
sheet},最大行数:{
sheet.max_row},最大列数:{
sheet.max_column})
for row in sheet.iter_rows():
for cell in row:
print(cell.row, cell.column, cell.value)
print(f结束遍历:{
sheet})
if __name__ == __main__:
file_name = 1.xlsx
read_excel(file_name)