Python - YAMLの読み書き

PtyhonのデータをYAML形式のデータにしたり、YAML形式のデータをPythonのデータにパースしたりしてみます。

YAMの読み書き

yaml.load()関数でYAML文字列をPythonデータに変換し、yaml.dump()関数でPythonデータをYAML形式で出力します。

[コード]

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
import yaml

data = [
{"name":"Yamada", "age":"33", "gender":"man"},
{"name":"Sato", "age":"58", "gender":"woman"},
{"name":"Kato", "age":"42", "gender":"man"},
{"name":"Nishi", "age":"22", "gender":"man"}
]

# PythonのデータをYAMLに変換
str = yaml.dump(data)
print(str)
print('--- --- ---')

# YAMLをPythonデータに変換
data1 = yaml.load(str)

# Pythonデータを表示
for p in data1:
print(p)

実行結果は下記の通りです。

[実行結果]

- age: '33'
  gender: man
  name: Yamada
- age: '58'
  gender: woman
  name: Sato
- age: '42'
  gender: man
  name: Kato
- age: '22'
  gender: man
  name: Nishi
--- --- ---
{'age': '33', 'gender': 'man', 'name': 'Yamada'}
{'age': '58', 'gender': 'woman', 'name': 'Sato'}
{'age': '42', 'gender': 'man', 'name': 'Kato'}
{'age': '22', 'gender': 'man', 'name': 'Nishi'}