day20 表格文件操作
一、excel文件读操作
导入模块
# 注意:openpyxl只能处理格式是.xlsx的excel文件
import openpyxl
1、excel相关专业术语
# 工作簿 - 一个excel文件就是一个工作簿
# 工作表(表) - 一个工作簿中可以有多张表(至少一张表)
# 单元格 - 保存数据的每个格子
2、excel文件读操作
# 1)加载excel文件获得工作簿对象
# openpyxl.load_workbook(文件路径)
wb = openpyxl.load_workbook('files/data.xlsx')
# 2)获取所有工作表的表名
# 工作簿对象.sheetnames
names = wb.sheetnames
print(names) # ['学生成绩', '讲师信息', 'Sheet2', 'Sheet3']
# 3)获取工作表
# a. 工作簿对象.active - 获取活跃表(被打开的表)
# b. wb[表名] - 获取指定的工作表
sheet1 = wb.active
print(sheet1)
sheet2 = wb['学生成绩']
print(sheet2)
# 4)获取单元格
# a. 表对象.cell(行号, 列号) - 获取指定单元格, 行号和列号都是从1开始的数字
# b. 表对象['列号行号'] - 获取指定单元格, 列号用大写字母(不常用)
cell1 = sheet1.cell(1, 1)
print(cell1)
cell2 = sheet1['D3']
print(cell2)
# 5)获取单元格内容
# 单元格对象.value
print(cell1.value)
print(cell2.value)
# 6)获取一个表最大行数和最大列数
# 表对象.max_row - 最大行数
# 表对象.max_column - 最大列数
max_row = sheet1.max_row
max_column = sheet1.max_column
二、exce文件写操作
import openpyxl
import os
# 1.获取工作簿
# 1) 获取已经存在的excel文件对应的工作簿:openpyxl.load_workbook(路径)
# 2) 新建一个工作簿(默认有一张表): openpyxl.Workbook()
# 如果文件已经存在就打开,不存在才创建
if os.path.exists('files/newData.xlsx'):
wb = openpyxl.load_workbook('files/newData.xlsx')
else:
wb = openpyxl.Workbook()
print(wb.sheetnames)
# 2.添加表
# 工作簿对象.create_sheet(表名, 下标) - 在指定位置创建指定表,并且返回创建的表对象
# sheet1 = wb.create_sheet('商品表')
# sheet2 = wb.create_sheet('房产信息', 0)
# 3.删除表
# 工作簿对象.remove(表对象)
# wb.remove(wb['Sheet'])
# 4.插入数据
# 单元格对象.value = 数据
wb['商品表'].cell(1, 1).value = '商品名称'
# 5.保存文件
wb.save('files/newData.xlsx')