python使用第三方库openpyxl读excel封装思路(openpyxl只支持操作xlsx格式表格)
1、安装第三方库 pip install openpyxl
2、excel操作步骤:打开目标excel表格,定位到sheet里面,操作单元格内容,读取数据可不用保存关闭,写入数据一定需要保存和关闭
3、openpyxl操作:创建wb对象,获取sheet对象,找到要操作的单元格,读取,修改数据,保存关闭
完整封装代码如下:
#!/usr/bin/env python
# -*- coding:utf-8 -*-
# @Time : 2022/6/28 9:44
# @fileName : interface_test -> excelhandle.PY
# @Author : ChenXiaoting
import os
import openpyxl
class ExcelHandle:
dir_path = os.path.dirname(os.path.dirname(os.path.abspath(__file__)))
excel_path = os.path.join(dir_path, 'testdata')
def __init__(self, file_name):
if not os.path.exists(self.excel_path):
os.mkdir(self.excel_path)
self.file = os.path.join(self.excel_path, file_name)
print(self.file)
def open_excel(self, sheet_name):
wb = openpyxl.load_workbook(self.file)
sheet = wb[sheet_name]
return sheet
def get_header(self, sheet_name):
sheet = self.open_excel(sheet_name)
headers = []
for i in sheet[1]:
headers.append(i)
return headers
def read_data(self, sheet_name):
sheet = self.open_excel(sheet_name)
rows = list(sheet.rows)
headers = self.get_header(sheet_name)
data = []
for row in rows[1:]:
cell_row_list = []
for cell in row:
cell_row_list.append(cell.value)
data_dic = dict(zip(headers, cell_row_list))
data.append(data_dic)
return data
if __name__ == '__main__':
excel = ExcelHandle('data.xlsx')
excel.read_data('Sheet1')