回答此问题可获得 20 贡献值,回答如果被采纳可获得 50 分。
<p>我需要从这个json文件的不同对象中获取两个值,并用它们生成dict,求int值的和。我得到的第一个值如下:</p>
<pre><code>for d in data:
for (date, details) in d['nightlyDetails'].items():
for (key, value) in details.items():
if key == 'accountLabelType':
print(key,value)
</code></pre>
<p>但是我想制作一个字典,用<code>defaultdict</code>来生成一个集合,这样每个键名只有一个,然后是总的求和值。如何获取<code>totalRent</code>值并求和,然后生成一个dict,每个dict只包含一个键并求和这些值?你知道吗</p>
<p>以下是json文件的外观:</p>
<pre><code>"checkOut": "2016-02-04",
"sourceBusinessName": "xxxx.com",
"folioStatusIdUserDef": "0",
"discounts": 0,
"reservationDate": "2015-06-30 07:13:11",
"additionalGuestIds": [],
"lastNightAuditDate": "0000-00-00",
"adjustmentTotal": 0,
"totalRent": 1280,
"noOfSplits": 1,
"checkoutDate": "2016-02-04 10:19:30",
"noOfNights": 1,
"folioNo": "44108",
"pm_code": "",
"arrivalAmpm": "am",
"folioStatus": "Checked-Out",
"checkinBy": "xxxx",
"reservedBy": "Oboe Reservation",
"event_training_id": "0",
"housekeepingRuleId": "0",
"occupancyAdults": "2",
"nightlyDetails": {
"2016-02-03": {
"accountLabelId": 1,
"accountCategoryId": 6,
"NightlyOverrideType": "0",
"accountCategoryType": "Add-on",
"NightlyRoomTransferId": "0",
"accountLabelType": " Rooms \u74e6\u5382\u623f\u95f4",
"NightlyRateId": "196",
"NightlyActualPrice": "1280.000000",
"NightlydiscountType": "0",
"NightlyOverride": "0.000000",
"rateName": "SQ",
"NightAuditDate": "0000-00-00",
"NightlyPaidByGroup": "0",
"NightlyOfferedPrice": "1280.000000",
"Nightlydiscount": "0.00",
"NightlyActualDiscountPrice": 1280
}
</code></pre>
<p>我真正需要的是这样的口述:</p>
<pre><code>Homes:10000
Rooms:3500
</code></pre>
<p>因此,dict只包含每个<code>accountLabelType</code>中的一个,以及每个类型的所有<code>totalRent</code>值的总和。这个json只是一个演示,因为它非常长。它重复了很多次,就像预订房间一样多。你知道吗</p>