Просто нужно сделать list
из dict
- dict
(исправляя код с добавлением второй строки)
l=[v for v in {k:d for k,d in d.items() if k != 'rock'}.values()] # here is your own code
newd=dict(kv for x in l for kv in x.items())
newd
Out[431]:
{'gold1': {'data': ['g1']},
'gold2': {'data': ['g2']},
'gold3': {'data': ['g3']}}
с одной строкой
dict(v for d in d.values() for v in d.items()) # d is your dict
Out[436]:
{'gold1': {'data': ['g1']},
'gold2': {'data': ['g2']},
'gold3': {'data': ['g3']}}
Определенно сделайте 2 выполнения. Один для создания всех объектов таблицы, но вместо того, чтобы использовать таблицы во втором выполненном impdp, используют исключение
impdp ... Content=data_only exclude=TABLE:"IN ('table1', 'table2')"
Другим путем работы, но этот способ, которым только необходимо перечислить таблицы, которые Вы не хотите по сравнению со всем, что Вы хотите.
Я сделал бы два выполнения в нем: первое я импортировал бы метаданные только:
impdp ... CONTENT=METADATA_ONLY
Второе включало бы данные только для таблиц, которыми я интересовался:
impdp ... CONTENT=DATA_ONLY TABLES=table1,table2...