擅长:python、mysql、java
<p>这是一个使用Python的可行解决方案</p>
<h4>逻辑:</h4>
<ul>
<li><p>使用<code>pd.Dataframe()</code>将<strong>API输出</strong>转换为普通df</p>
</li>
<li><p>使用<code>apply(pd.Series)</code>将“<strong>value</strong>”列拆分为单独的列</p>
</li>
<li><p>将拆分的列与前面的df合并为<code>concat()</code></p>
</li>
<li><p>用<code>drop()</code>删除无用列</p>
</li>
</ul>
<h4>代码:</h4>
<pre><code> import pandas as pd
api_output = {'index':[1,2] ,
'value': [{'city_display_city_name_fg': True, 'subMarket_id': 1631, 'subMarket_tx': 'Southern NH', 'market_id': 644, 'market_tx': 'Southern NH', 'metro_id': 37}, {'city_display_city_name_fg': False, 'subMarket_id': 2464, 'subMarket_tx': 'north NH', 'market_id': 541, 'metro_id': 57}]}
# convert entire API output into pandas df
api_df = pd.DataFrame(api_output)
# split "value" to columns, concat with previous api_df, drop useless columns
final_df = pd.concat([api_df, api_df['value'].apply(pd.Series)], axis=1).drop(['city_display_city_name_fg','subMarket_id','subMarket_tx'], axis=1)
</code></pre>
<h4>结果:</h4>
<div class="s-table-container">
^{tb1}$
</div>