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'}

Python - YAMLの解析

YAMLは、インデントを使って階層構造を表現するという特徴をもったデータ形式です。

XMLよりもシンプルなのが特徴です。

PyYAMLをインストール

YAMLを扱うためにPyYAMLというライブラリをインストールします。

1
pip install pyyaml

YAMの解析

果物と値段などの一覧を、文字列にYAML形式で記述しそれをPyYAMLで解析し画面に表示します。

[コード]

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
import yaml

str = '''
Date: 2020-04-15
PriceList:
-
item_id: 1
name: Banana
color: yellow
price: 150
-
item_id: 2
name: Orange
color: orange
price: 300
-
item_id: 3
name: Apple
color: red
price: 200
'''
# YAMLを解析
data = yaml.load(str)

print(data['Date'])
print()

for d1 in data['PriceList']:
print(d1)

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

[実行結果]

2020-04-15

{'item_id': 1, 'name': 'Banana', 'color': 'yellow', 'price': 150}
{'item_id': 2, 'name': 'Orange', 'color': 'orange', 'price': 300}
{'item_id': 3, 'name': 'Apple', 'color': 'red', 'price': 200}

Your browser is out-of-date!

Update your browser to view this website correctly. Update my browser now

×