このyamlファイルをpythonとruamelで更新するにはどうすればよいですか?

ベックス

次の内容のtest.yamlファイルがあります:

school_ids:
  school1: "001"

  #important school2
  school2: "002"


targets:
  neighborhood1:
    schools:
      - school1-paloalto
    teachers:
      - 33
  neighborhood2:
    schools:
      - school2-paloalto
    teachers:
      - 35

ruamelを使用して、ファイルを次のように更新したいと思います。

school_ids:
  school1: "001"

  #important school2
  school2: "002"

  school3: "003"


targets:
  neighborhood1:
    schools:
      - school1-paloalto
    teachers:
      - 33
  neighborhood2:
    schools:
      - school2-paloalto
    teachers:
      - 35
  neighborhood3:
    schools:
      - school3-paloalto
    teachers:
      - 31

コメントを保存して目的の出力を取得するために、ruamelを使用してファイルを更新するにはどうすればよいですか?

これが私がこれまでに持っているものです:

import sys
from ruamel.yaml import YAML

inp = open('/targets.yaml', 'r').read()

yaml = YAML()

code = yaml.load(inp)
account_ids = code['school_ids']
account_ids['new_school'] = "003"
#yaml.dump(account_ids, sys.stdout)


targets = code['targets']
new_target = dict(neighborhood3=dict(schools=["school3-paloalto"], teachers=["31"]))
yaml = YAML()
yaml.indent(mapping=2, sequence=3, offset=2)
yaml.dump(new_target, sys.stdout)
アンソン

またはnew_targetを使用せずに、最初から作成したものをダンプしいるだけです代わりに、ロードしたものを使用して、ルートレベルのキーに関連付けられた値を拡張してから、ダンプする必要があります。codetargetscodecode

import sys
from pathlib import Path
from ruamel.yaml import YAML

inp = Path('test.yaml')

yaml = YAML()

code = yaml.load(inp)
school_ids = code['school_ids']
school_ids['school3'] = "003"


targets = code['targets']
targets['neighborhood3'] = dict(schools=["school3-paloalto"], teachers=["31"])
yaml = YAML()
yaml.indent(mapping=2, sequence=4, offset=2)
yaml.dump(code, sys.stdout)

これは:

school_ids:
  school1: '001'

  #important school2
  school2: '002'


  school3: '003'
targets:
  neighborhood1:
    schools:
      - school1-paloalto
    teachers:
      - 33
  neighborhood2:
    schools:
      - school2-paloalto
    teachers:
      - 35
  neighborhood3:
    schools:
      - school3-paloalto
    teachers:
      - '31'

シーケンスのインデントは、オフセットより少なくとも2大きくする必要があることに注意してください(-+スペースのスペースを確保するために2つの位置

出力には、キーの後の間に空の行がありますschool2。これは、これらが解析中に関連付けられるためです。これは新しいキーに移動できますが、簡単ではありません。それを行う必要がある場合(YAMLドキュメントのセマンティクスにとって重要ではありません)、ここで私の答えを見てください

この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。

侵害の場合は、連絡してください[email protected]

編集
0

コメントを追加

0

関連記事

分類Dev

YAMLファイルを別のファイルに含めるにはどうすればよいですか?

分類Dev

PythonでYAMLを異なるファイルに分割するにはどうすればよいですか?

分類Dev

PythonでYAMLファイルにコメントを追加するにはどうすればよいですか?

分類Dev

PythonでYAMLファイルを解析するにはどうすればよいですか

分類Dev

ファイルを開かずにExcelファイルを更新するにはどうすればよいですか(データの更新と数式の更新)。

分類Dev

別の辞書の一致するキーからの値でYAMLファイルを更新するにはどうすればよいですか?

分類Dev

quanteda辞書をyamlファイルとして保存するにはどうすればよいですか?

分類Dev

Pythonでyamlファイルに新しい行を追加/データを更新するにはどうすればよいですか?

分類Dev

YAMLファイルの「循環参照」エラーを修正するにはどうすればよいですか?

分類Dev

Netplan:特定の構成YAMLファイルを適用するにはどうすればよいですか

分類Dev

csvファイルの列をPythonの画像名と比較するにはどうすればよいですか?

分類Dev

JSONファイルをAngularとNodeで更新するにはどうすればよいですか?

分類Dev

puppetでyamlファイルを永続的に無効にするにはどうすればよいですか?

分類Dev

AWSからAzureDataLakeに移動するときにこのファイルを保存しないようにするにはどうすればよいですか?

分類Dev

jarファイルの更新でDCEVM / Hotswap Agentを使用するにはどうすればよいですか?

分類Dev

React Nativeでプロファイル(displayName)のFirebaseを更新するにはどうすればよいですか?

分類Dev

Swiftのファイルから配列の内容を更新するにはどうすればよいですか?

分類Dev

これらのファイルを開いて実行するにはどうすればよいですか?

分類Dev

Pythonを使用してJSONファイルを更新するにはどうすればよいですか?

分類Dev

GolangでYAMLファイルに構成の配列を渡すにはどうすればよいですか?

分類Dev

bashで「°」という名前のファイルを削除するにはどうすればよいですか

分類Dev

bashで「°」という名前のファイルを削除するにはどうすればよいですか

分類Dev

ruamel yamlで新しい辞書のスタイルを定義するにはどうすればよいですか?

分類Dev

Macでこのsvgファイルを表示するにはどうすればよいですか?

分類Dev

Macでこのsvgファイルを表示するにはどうすればよいですか?

分類Dev

FlutterアプリでこのTFLiteファイルを参照するにはどうすればよいですか?

分類Dev

このjsonファイルをphpで解析するにはどうすればよいですか?

分類Dev

ffmpegでこのwavファイルを正しく出力するにはどうすればよいですか?

分類Dev

YAMLファイルをgroovyで解析するにはどうすればよいですか?

Related 関連記事

  1. 1

    YAMLファイルを別のファイルに含めるにはどうすればよいですか?

  2. 2

    PythonでYAMLを異なるファイルに分割するにはどうすればよいですか?

  3. 3

    PythonでYAMLファイルにコメントを追加するにはどうすればよいですか?

  4. 4

    PythonでYAMLファイルを解析するにはどうすればよいですか

  5. 5

    ファイルを開かずにExcelファイルを更新するにはどうすればよいですか(データの更新と数式の更新)。

  6. 6

    別の辞書の一致するキーからの値でYAMLファイルを更新するにはどうすればよいですか?

  7. 7

    quanteda辞書をyamlファイルとして保存するにはどうすればよいですか?

  8. 8

    Pythonでyamlファイルに新しい行を追加/データを更新するにはどうすればよいですか?

  9. 9

    YAMLファイルの「循環参照」エラーを修正するにはどうすればよいですか?

  10. 10

    Netplan:特定の構成YAMLファイルを適用するにはどうすればよいですか

  11. 11

    csvファイルの列をPythonの画像名と比較するにはどうすればよいですか?

  12. 12

    JSONファイルをAngularとNodeで更新するにはどうすればよいですか?

  13. 13

    puppetでyamlファイルを永続的に無効にするにはどうすればよいですか?

  14. 14

    AWSからAzureDataLakeに移動するときにこのファイルを保存しないようにするにはどうすればよいですか?

  15. 15

    jarファイルの更新でDCEVM / Hotswap Agentを使用するにはどうすればよいですか?

  16. 16

    React Nativeでプロファイル(displayName)のFirebaseを更新するにはどうすればよいですか?

  17. 17

    Swiftのファイルから配列の内容を更新するにはどうすればよいですか?

  18. 18

    これらのファイルを開いて実行するにはどうすればよいですか?

  19. 19

    Pythonを使用してJSONファイルを更新するにはどうすればよいですか?

  20. 20

    GolangでYAMLファイルに構成の配列を渡すにはどうすればよいですか?

  21. 21

    bashで「°」という名前のファイルを削除するにはどうすればよいですか

  22. 22

    bashで「°」という名前のファイルを削除するにはどうすればよいですか

  23. 23

    ruamel yamlで新しい辞書のスタイルを定義するにはどうすればよいですか?

  24. 24

    Macでこのsvgファイルを表示するにはどうすればよいですか?

  25. 25

    Macでこのsvgファイルを表示するにはどうすればよいですか?

  26. 26

    FlutterアプリでこのTFLiteファイルを参照するにはどうすればよいですか?

  27. 27

    このjsonファイルをphpで解析するにはどうすればよいですか?

  28. 28

    ffmpegでこのwavファイルを正しく出力するにはどうすればよいですか?

  29. 29

    YAMLファイルをgroovyで解析するにはどうすればよいですか?

ホットタグ

アーカイブ