下面为大家介绍如何封装Python读取Excel和YAML文件的操作。
Python读取Excel文件
安装依赖包
首先需要安装openpyxl包,可以使用如下命令进行安装:
pip install openpyxl
ExcelReader类的封装
from openpyxl import load_workbook
class ExcelReader(object):
def __init__(self, filename, sheetname=None):
self.wb = load_workbook(filename)
if sheetname:
self.sheet = self.wb[sheetname]
else:
self.sheet = self.wb.active
def read(self):
rows = list(self.sheet.rows)
title = [r.value for r in rows[0]]
data_list = []
for row in rows[1:]:
data = {}
for index, cell in enumerate(row):
data[title[index]] = cell.value
data_list.append(data)
return data_list
ExcelReader类的使用
filename = 'testdata.xlsx'
sheetname = 'Sheet1'
reader = ExcelReader(filename, sheetname)
data = reader.read()
print(data)
其中,testdata.xlsx
是我们需要读取的Excel文件名,Sheet1是我们想要读取的Sheet页的名称,data则是读取到的数据列表。
Python读取YAML文件
安装依赖包
我们需要安装PyYAML包,可以使用如下命令进行安装:
pip install pyyaml
YAMLReader类的封装
import yaml
class YAMLReader:
def __init__(self, yamlpath):
self.yamlpath = yamlpath
def read(self):
with open(self.yamlpath, 'r', encoding='utf8') as fp:
content = fp.read()
data = yaml.load(content, Loader=yaml.FullLoader)
return data
YAMLReader类的使用
config_file = 'config.yml'
data = YAMLReader(config_file).read()
print(data)
其中,config.yml
是我们需要读取的YAML文件名,data则是读取到的数据字典。
示例
Excel文件示例
如果我们有一个Excel文件(testdata.xlsx),其内容如下:
Name | Age | Gender |
---|---|---|
Lily | 20 | Female |
Tom | 25 | Male |
我们可以通过ExcelReader来读取该文件:
filename = 'testdata.xlsx'
sheetname = 'Sheet1'
reader = ExcelReader(filename, sheetname)
data = reader.read()
print(data)
输出结果:
[{'Name': 'Lily', 'Age': 20, 'Gender': 'Female'}, {'Name': 'Tom', 'Age': 25, 'Gender': 'Male'}]
YAML文件示例
如果我们有一个YAML文件(config.yml),其内容如下:
name: "Tom"
age: 25
gender: "Male"
我们可以通过YAMLReader来读取该文件:
config_file = 'config.yml'
data = YAMLReader(config_file).read()
print(data)
输出结果:
{'age': 25, 'gender': 'Male', 'name': 'Tom'}