在上一篇文章中我们介绍了Csv文件的操作,
在这片文章中我们介绍一下,
使用 openpyxl
对 Xlsx 文件进行读写。
pip install openpyxl
Xlsx
并保存1、新建读写
from openpyxl import Workbook
wb = Workbook() # 实例化
ws = wb.active # 激活 worksheet
ws.append([1, 2, 3]) # list 数据写入
wb.save('ceshi.xlsx') # 写入文件
2、追加到已有文件中
from openpyxl import load_workbook
wb2 = load_workbook('ceshi.xlsx') # 实例化
ws = wb2.active # 激活 worksheet
ws.append([4, 5, 6]) # list 数据写入
wb2.save('ceshi.xlsx') # 写入文件
3、写入特定单元格
ws['B5'] = 100
4、创建表
# 插入到最后
ws1 = wb.create_sheet("fengkui")
# 插入到最开始的位置
ws2 = wb.create_sheet("fengkui2", 0)
Xlsx
数据1、查看所有表表名
from openpyxl import Workbook, load_workbook
wb = load_workbook('ceshi.xlsx') # 实例化
print(wb.sheetnames)
2、获取每一行,每一列
sheet.rows为生成器, 里面是每一行的数据,每一行又由一个tuple包裹。
from openpyxl import Workbook, load_workbook
wb = load_workbook(filename='ceshi.xlsx', read_only=True)
ws = wb['Sheet']
for row in ws.rows:
list = []
for cell in row:
list.append(cell.value)
print(list)
3、读取特定单元格内容
# cell(行号,列表) 从1开始
cellDa = ws.cell(5, 2).value
wb = openpyxl.load_workbook('ceshi.xlsx')
# 获取所有工作表名
names = wb.sheetnames
# wb.get_sheet_by_name(name) 已经废弃,使用wb[name] 获取指定工作表
sheet = wb[names[0]]
# 获取最大行数
maxRow = sheet.max_row
# 获取最大列数
maxColumn = sheet.max_column
# 获取当前活动表
current_sheet = wb.active
# 获取当前活动表名称
current_name = sheet.title
# 通过名字访问Cell对象, 通过value属性获取值
a1 = sheet['A1'].value
# 通过行和列确定数据
a12 = sheet.cell(row=1, column=2).value
# 获取列字母
column_name = openpyxl.utils.cell.get_column_letter(1)
# 将列字母转为数字, 参数忽略大小写
column_name_num = openpyxl.utils.cell.column_index_from_string('a')
# 获取一列数据, sheet.iter_rows() 获取所有的行
本文为冯奎原创文章,转载无需和我联系,但请注明来自冯奎博客fengkui.net
最新评论