以下のようなjsonファイルがあるとしましょうsrc.json
。
{
"main": {
"contenttype": "Document"
},
"dublin": {
"title": "ダウンロード",
"description": "",
"creators": [
"池田大作"
],
"created": "2012-04-23 10:09:34.642940"
}
}
で使用するdublin
内容をダンプしたい。dst.yaml
yaml
python
これが私のコードです:
import json
import yaml
with open('src.json') as f:
data = json.load(f)
dump = {'title': data.get('dublin', {}).get('title', ''),
'description': data.get('dublin', {}).get('description', ''),
'creator': data.get('dublin', {}).get('creators',[''])[0],
'created': data.get('dublin', {}).get('created', '')
}
with open('dst.yaml', 'w') as stream:
yaml.safe_dump(dump, stream, allow_unicode=True )
しかし、私は結果に満足していません:
{created: '2010-03-26 09:26:44.002029', creator: 池田大作, description: ' ', title: ダウンロード}
満足するものは次のとおりです。
created: 2010-03-26 09:26:44.002029
creator: 池田大作
description: ''
title: ダウンロード
次に、私の質問は次のとおりです。
'2010-03-26 09:26:44.002029'
一重引用符が whiletitle
とcreator
notを持つのはなぜですか? 日付を囲む一重引用符を削除するには?- 改行はどこですか?yaml ダンプ操作が必要です。
だれか助けて!