<p>请尝试使用此脚本重新格式化数据。格式化数据将保存在<code>updated_list</code></p>
<pre><code>cruise_list = [
{
"Cruise": {
"Cruiseline": [
"Ship Name"
],
"Itinerary": [
"3 Night Bahamas ",
"4 Night Western Caribbean ",
"4 Night Bahamas ",
"3 Night Bahamas ",
"5 Night Western Caribbean ",
"5 Night Eastern Caribbean ",
"7 Night Western Caribbean ",
"7 Night Southern Caribbean ",
"6 Night Western Caribbean ",
"7 Night Western Caribbean ",
"8 Night Eastern Caribbean "
],
"Price": [
"$169",
"$179",
"$289",
"$349",
"$359",
"$389",
"$389",
"$409",
"$424",
"$524",
"$939"
],
"PerNight": [
"$56/night",
"$45/night",
"$72/night",
"$116/night",
"$72/night",
"$78/night",
"$56/night",
"$58/night",
"$71/night",
"$75/night",
"$117/night"
]
}
}
]
updated_list = []
for cruise_obj in cruise_list:
cruise_data = cruise_obj['Cruise']
for i in range(len(cruise_data['Itinerary'])):
sub_item = {}
sub_item['Cruise'] = {}
sub_item['Cruise']['Cruiseline'] = cruise_data['Cruiseline']
sub_item['Cruise']['Itinerary'] = [cruise_data['Itinerary'][i]]
sub_item['Cruise']['Price'] = [cruise_data['Price'][i]]
sub_item['Cruise']['PerNight'] = [cruise_data['PerNight'][i]]
updated_list.append(sub_item)
</code></pre>
<p>一些其他的想法</p>
<ul>
<li><p>如果json中存储的只有cruise对象,那么<code>Cruise</code>的初始键有点多余</p></li>
<li><p>很多时候,你在数组中存储不需要的东西。我猜这是一个棘手的问题,但您应该尝试修改一下我的脚本,以删除单数值的数组。E、 g.一个巡航对象不应该有多个<code>Cruiseline</code>。如果你需要帮助,请告诉我。</p></li>
</ul>