【发布时间】:2018-11-14 13:05:21
【问题描述】:
我有一个从文件中读取的实际结构:
{
"id": 1,
"name": "Explosives",
"category_id": 1,
"average_price": 294,
"is_rare": 0,
"max_buy_price": 755,
"max_sell_price": 1774,
"min_buy_price": 99,
"min_sell_price": 18,
"buy_price_lower_average": 176,
"sell_price_upper_average": 924,
"is_non_marketable": 0,
"ed_id": 128049204,
** "category": {
"id": 1,
"name": "Chemicals"
} **
}
我正在尝试创建一个列表以在之后插入数据库。最后字典中的数据也应该在我列表的末尾。
正如你在下面看到的,我的字典里最后有字典。我的实际代码 - 正在运行 - 是:
for v in d:
commodities_reference = []
for k, g in v.items():
if isinstance(g, dict):
dict1 = g
my_value1 = dict1.get("id")
my_value2 = dict1.get("name")
for s, i in v.items():
if not isinstance(i, dict):
commodities_reference.append(i)
commodities_reference.append(my_value1)
commodities_reference.append(my_value2)
尽管如此,我想知道是否有更“pythonic”的方式来做到这一点,因为它对我来说看起来有点难看。
提前谢谢你。
【问题讨论】:
-
这个问题可能更适合codereview.stackexchange.com,因为您的代码可以工作,但您只需要建议使其变得更好。
-
也许您可以添加备注说明您要使用此代码实现的目标?
-
您可以添加
elif:块,而不是迭代v.items()两次 -
我正在尝试创建一个列表以在之后插入数据库。最后字典中的数据也应该在我列表的末尾。抱歉不清楚。
-
我会听从你的建议@Jean-FrançoisCorbett 并在那里发帖。
标签: python python-3.x