【发布时间】:2021-04-27 23:36:56
【问题描述】:
我正在testing.yaml中设置一些参数
a :
one :
file_name : 10/a_one 10.xlsx
index_col : 0
我可以通过下面的脚本在python中毫无问题地阅读
with open('testing.yaml') as f:
data = ruamel.yaml.load(f, Loader=ruamel.yaml.Loader)
print(f"{data['a']['one']['file_name']}")
输出是10/a_one 10.xlsx。我将使用pd.read_excel() 从此输入中保存dataframe。但是,如果我想包含从 python 中更改的可格式化字符串,则会出现错误。例如:假设我希望能够在 python 中更改10,我编辑testing.yaml
a :
one :
file_name : {month}/a_one {month}.xlsx
index_col : 0
然后python中的脚本会说
month = 10
with open('testing.yaml') as f:
data = ruamel.yaml.load(f, Loader=ruamel.yaml.Loader)
print(f"{data['a']['one']['file_name']}")
我希望在这里再次输出10/a_one 10.xlsx,我能以某种方式实现吗?我不想直接在 YAML 文件中进行所有更改的原因是,一些格式信息(在本例中为 month = 10)来自另一个在 python 中读取的 excel 文件。
【问题讨论】:
标签: python dictionary yaml