次のような形式の出力文字列を取得しています。
w = "name: some name|age: 23|street: some address|favorite meal: meal|name: some other name|age: 15|street: some other address|pet: dog|name: <and so on..>"
問題は、この文字列が完全に予測できないことです。「名前」の後の情報から別の「名前」が特定の人物に属し、その情報の「キー」が複数の単語になる可能性があります(推定/予測できると思いますが)すべての「キーワード」)
これをPython辞書に配置する方法はありますか?(これには、値として別の辞書を持つ辞書が必要になると思います...しかし、文字列からすべての情報を抽出し、関連するデータをまとめるにはどうすればよいですか(文字列は1つで約10人とはるかに長くなります)
各「名前」キーをマーカーとして使用するだけです。
w = "name: some name|age: 23|street: some address|favorite meal: meal|name: some other name|age: 15|street: some other address|pet: dog"
output = []
current = {}
for item in w.split('|'):
key_value = item.split(':')
key = key_value[0].strip()
value = key_value[1].strip()
if key == 'name':
current = {key:value}
output.append(current)
else:
current[key] = value
print(output)
出力:
[{'name': 'some name', 'age': '23', 'street': 'some address', 'favorite meal': 'meal'}, {'name': 'some other name', 'age': '15', 'street': 'some other address', 'pet': 'dog'}]
この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。
侵害の場合は、連絡してください[email protected]
コメントを追加