エンコードされた辞書のリストがあります。
[u"{'name':'Tom', 'uid':'asdlfkj223'}", u"{'name':'Jerry', 'uid':'alksd32'}", ...]
キー名の値だけのリストを作成できる方法はありますか?
誰かがDjango ORMをよく知っていて、PostgreSQLデータベースからプロパティを持つデータ/列のリストを取得できる場合はさらに良い.
ありがとう!
エンコードされた辞書のリストがあります。
[u"{'name':'Tom', 'uid':'asdlfkj223'}", u"{'name':'Jerry', 'uid':'alksd32'}", ...]
キー名の値だけのリストを作成できる方法はありますか?
誰かがDjango ORMをよく知っていて、PostgreSQLデータベースからプロパティを持つデータ/列のリストを取得できる場合はさらに良い.
ありがとう!
name
DB テーブルから列のその値のみを取得するには、次を使用します。
names = Person.objects.values_list('name', flat=True)
そうでなければ、与えられた
people = [{'name':'Tom', 'uid':'asdlfkj223'}, {'name':'Jerry', 'uid':'alksd32'},]
これでうまくいくはずです:
names = [person['name'] for person in people]
そして、データ項目が文字列 (dict の文字列表現を含む) である理由を見つける必要があります。
または、実際にdict
データベースに を文字列として保存している場合は、Python 文字列表現よりも JSON を優先するか、現在の形式を使用する必要がある場合は、別の質問で提供されている AST 解析ソリューションを使用する必要があります。
使用できますast.literal_eval
:
>>> data = [u"{'name':'Tom', 'uid':'asdlfkj223'}",u"{'name':'Jerry', 'uid':'alksd32'}"]
>>> import ast
>>> [ast.literal_eval(d)['name'] for d in data]
['Tom', 'Jerry']