python代码:已知若干.yaml文件,每个yaml文件内容作为表格的一行内容,将yaml文件中的key作为表头,yaml的value作为表格中相应的值,每一次读取并记录一个yaml文件并且每个yaml文件中的keys并不一定相同,利用openpyxl生成表格
时间: 2023-06-22 11:47:02 浏览: 259
好的,下面是一个Python3的实现示例,使用了PyYAML库解析YAML文件,并使用openpyxl库将数据存储为表格形式:
```python
import os
import yaml
from openpyxl import Workbook
# 创建一个新的Excel工作簿
wb = Workbook()
# 获取活动工作表
ws = wb.active
# 遍历当前目录下的所有.yaml文件
for filename in os.listdir():
if filename.endswith('.yaml'):
with open(filename, 'r') as f:
# 解析YAML文件
data = yaml.safe_load(f)
# 将字典转换为列表,并将列表添加到工作表中
row = []
for key in ws['1']:
if key.value in data:
row.append(data[key.value])
else:
row.append(None)
ws.append(row)
# 保存工作簿
wb.save('output.xlsx')
```
这段代码会遍历当前目录下的所有.yaml文件,并将它们转换为工作表中的一行。在转换过程中,每个.yaml文件中的keys会作为工作表的表头,yaml的value会作为表格中相应的值。最终结果会保存在一个Excel文件中。请注意,由于每个.yaml文件中的keys并不一定相同,因此最终的表格可能会存在一些空值。
阅读全文