已知有若干.yaml文件,根据.yaml文件中的key与value值制作表格,每个.yaml文件作为一行,yaml文件中的key作为表头,对应的value值为表格对应的数值,yaml文件中的key不一定完全相同,python代码完成该功能
时间: 2023-06-22 13:29:21 浏览: 156
milvus的milvus.yaml 官方配置文件
可以使用Python中的`pyyaml`库来读取yaml文件,使用`pandas`库来制作表格。
以下是一个示例代码,可以读取当前文件夹下所有的yaml文件,将yaml文件中的key作为表头,对应的value值为表格对应的数值,每个yaml文件作为表格的一行。
```python
import os
import pandas as pd
import yaml
# 获取当前文件夹下所有的yaml文件
yaml_files = [f for f in os.listdir('.') if f.endswith('.yaml')]
# 定义一个空的DataFrame,用于存放所有的数据
df = pd.DataFrame()
# 遍历所有的yaml文件,并将数据添加到DataFrame中
for yaml_file in yaml_files:
with open(yaml_file, 'r') as f:
data = yaml.load(f, Loader=yaml.FullLoader)
# 将数据转换成DataFrame,并添加到原来的DataFrame中
df = pd.concat([df, pd.DataFrame(data, index=[yaml_file])], axis=0, sort=True)
# 将NaN值替换成空字符串
df.fillna('', inplace=True)
# 打印DataFrame
print(df)
```
输出结果如下:
```
key1 key2 key3
test1.yaml 123 abc xyz
test2.yaml hello! def
test3.yaml 456 ghi xyz
```
注意,这里将NaN值替换成了空字符串,因为在制作表格时,pandas中的`to_html()`方法会将NaN值显示为`NaN`,为了美观起见,我们将其替换成空字符串。
阅读全文