擅长:python、mysql、java
<p>Pandas在这里被过度使用了:csv标准模块就足够了。您只需在策略上迭代以提取描述和数据库值,然后在policyItems上迭代以提取用户:</p>
<pre><code>with open("Ranger_Policies_20190204_195010.json") as file:
jsonDF = json.load(file)
with open("outputfile.csv", newline='') as fd:
wr = csv.writer(fd)
_ = wr.writerow(('Database name', 'Users', 'Description'))
for policy in js['policies']:
desc = policy['description']
db_values = policy['resources']['database']['values']
for item in policy['policyItems']:
users = item['users']
for user in users:
for db in db_values:
if db != '*':
_ = wr.writerow((db, user, desc))
</code></pre>