python常用三方库 - openpyxl
openpyxl是一个第三方库, 可以处理xlsx格式的Excel(2007版之后)文件
pip install openpyzl
读取Excel文件
# 导入包
from openpyxl import load_workbook
# 初始化对象,默认可读可写, read_only=True, 表示只读
wb = load_workbook('1.xlsx', data_only=True)
# 获取所有工作薄
print(wb.sheetnames)
# 获取某个工作表对象
wb_sheet = wb['index']
# 取值方式1
print(wb_sheet["A3"].value)
# 取值方式2
print(wb_sheet.cell(row=3, column=1).value)
# 获取基于row(行)的一个生层器, r是每一行的数据, c是每一个 单元格的数据
for r in wb_sheet.rows:
for c in r:
print(c.value)
# 获取基于columns(列)的一个生层器, r是每一行的数据, c是每一个 单元格的数据
for r in wb_sheet.columns:
for c in r:
print(c.value)
# 获取一共有多少行
print(wb_sheet.max_row)
# 获取一共有多少列
print(wb_sheet.max_column)
#获取excel表格内的函数的值,初始化的时候应该加data_only=True
# wb = load_workbook('1.xlsx', data_only=True)
print(wb_sheet['A5'].value)
注意:
获取的都是人为保存后的值!!!
写入Excel文件
# 导入包
from openpyxl import Workbook
# 初始化对象
wb = Workbook()
# # 创建工作薄, 默认在最后添加
wb_sheet = wb.create_sheet("index2")
# # 指定位置添加
# wb_sheet = wb.create_sheet("index2", 0)
# 修改工作薄名称
wb_sheet.title = "index3"
# 添加数据方式1
wb_sheet["B3"] = 12
# 添加数据方式2
wb_sheet.cell(row=2, column=3, value=12)
# 添加一行数据
wb_sheet.append(["姓名", "性别", "爱好", "住址"])
wb_sheet.append(["孔辉", "男", "女", "北京"])
# 添加一个空行
wb_sheet.append([""])
# 添加一个空单元格
wb_sheet.append(["孔辉", "", "女", "北京"])
# 使用excel表格里面的函数
# wb_sheet["A5"]
# 使用excel表格里面的函数
wb_sheet["A7"] = "=sum(A2:A4)"
# 必须保存
wb.save("2.xlsx")
注意: 必须保存,否则数据不保存