目录
1.安装 openpyxl
2.打开 xlsx 文件
3.工作表
4.读取
5.写入
文件必须是 xlsx 格式
openpyxl
pip install openpyxl
# 新建文件
from openpyxl import Workbook
wb = Workbook()
# 打开已有文件
from openpyxl import load_workbook
wb = load_workbook('filename.xlsx')
# 保存文件
wb.save('filename.xlsx')
对文件操作之前,先选定工作表
# 一般来说,表格大多数用到的是打开时显示的工作表,这时可以用active来获取当前工作表
sheet = wb.active
# 创建新的工作表
sheet1 = wb.create_sheet() # 默认在最后插入
sheet2 = wb.create_sheet(0) # 在开头插入
# 获取所有工作表名(返回一个列表)
sheets = wb.get_sheet_names()
# 获取指定的工作表
sheet3 = wb.get_sheet_by_name('Sheet')
# 获取工作表的表名
sheet3_name = sheet.title
# 设定工作表的名字
sheet3.title = 'MySheet'
# 删除工作表
wb.remove(sheet3)
# 通过sheet[列行名]获取
a1 = sheet['A1']
# 通过sheet.cell(row, column)获取
b1 = sheet.cell(1, 2) # 即sheet['B1']
# 参数 row, column 分别是行和列,且必须为整数,如果列为英文字母,需转换
# 对列进行字母/数字转化
from openpyxl.utils import get_column_letter, column_index_from_string
num = column_index_from_string('B') # num = 2
char = get_column_letter(2) # char = 'B'
# 获取单元格内容
print(a1.value)
# 获取单元格所在列和行
print(a1.column, a1.row)
获取行和列:
sheet.rows
:每一行数据
sheet.columns
:每一列数据
# 对行进行遍历,输出A1,B1,C1
for row in sheet.rows:
for cell in row:
print(cell.value)
# 对列进行遍历,输出A1,A2,A3
for column in sheet.columns:
for cell in column:
print(cell.value)
# 写入单元格
sheet['A1'].value = 2
# 写入一行
row = [1 ,2, 3, 4, 5]
sheet.append(row)
# 写入多行
rows = [
['ID', 'Name', 'Department'],
['001', 'Lee','CS'],
['002', 'John','MA'],
['003', 'Amy','IS']
]
sheet.append(rows)