[英]How to parse yaml file with string values
對於下面的示例,我正在嘗試讀取此 yaml 文件,對其進行解析並將data
標簽下的包含寫入新的 yaml 文件。 使用yaml.load()
我無法區分字符串和 int 值。
示例 yaml 文件:
data:
key1: "Value1"
key2: Value2
我當前解析python代碼:
import io
import yaml
test_dict={}
with open("sample-string.yaml", "r") as stream:
try:
f = yaml.load(stream)
test_dict['data'] = f['data']
except yaml.YAMLError as exc:
print(exc)
with io.open("output.yaml", "a",encoding="utf-8") as wf:
try:
yaml.dump(test_dict['data'],wf,allow_unicode=True,default_flow_style=False)
except yaml.YAMLError as exc:
print(exc)
上面的文件產生以下輸出:
key1: Value1
key2: Value2
如您所見, key1
的值缺少引號,即它應該是"Value1"
而不是Value1
。 關於如何實現這一目標的任何建議?
預期產出
key1: "Value1"
key2: Value2
報價是數據的一部分,還是只是它的表示? 如果它是數據的一部分,則必須在 yaml.xml 中指明。
data:
key1: |
"Value1"
key2: Value2
請注意,在 yaml 字符串值上,引號是可選的,這意味着如果它們要成為字符串數據本身的一部分,則必須明確包含它們。
# these two documents are identical
data:
- this
- that
- the other
---
data:
- "this"
- "that"
- "the other"
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.