I have this kind of 50 dictionary
means that I have over 50 kind of dictionary for different values. like symbol
and other key value.
I want to get only symbol
and open
values in a list.
{'pricebandupper': 380.65, 'symbol': 'ADANIPORTS', 'applicableMargin': 40.0, 'bcEndDate': '26-JUN-20', 'totalSellQuantity': None, 'adhocMargin': 18.19, 'companyName': 'Adani Ports and Special Economic Zone Limited', 'marketType': 'N', 'exDate': '17-JUN-20', 'bcStartDate': '19-JUN-20', 'css_status_desc': 'Listed', 'dayHigh': 349.75, 'basePrice': 346.05, 'securityVar': 18.31, 'pricebandlower': 311.45, 'sellQuantity5': None, 'sellQuantity4': None, 'sellQuantity3': None, 'cm_adj_high_dt': '10-JUN-19', 'sellQuantity2': None, 'dayLow': 340.4, 'sellQuantity1': None, 'quantityTraded': 2095819.0, 'pChange': 0.69, 'totalTradedValue': 8017.47, 'deliveryToTradedQuantity': 21.32, 'totalBuyQuantity': 2730.0, 'averagePrice': 344.84, 'indexVar': None, 'cm_ffm': 26717.33, 'purpose': 'ANNUAL GENERAL MEETING', 'buyPrice2': None, 'secDate': '10-Jun-2020 15:00:00', 'buyPrice1': 346.55, 'high52': 429.5, 'previousClose': 346.05, 'ndEndDate': None, 'low52': 203.0, 'buyPrice4': None, 'buyPrice3': None, 'recordDate': None, 'deliveryQuantity': 446896.0, 'buyPrice5': None, 'priceBand': 'No Band', 'extremeLossMargin': 3.5, 'cm_adj_low_dt': '23-MAR-20', 'varMargin': 18.31, 'sellPrice1': None, 'sellPrice2': None, 'totalTradedVolume': 2324983.0, 'sellPrice3': None, 'sellPrice4': None, 'sellPrice5': None, 'change': 2.4, 'surv_indicator': None, 'ndStartDate': None, 'buyQuantity4': None, 'isExDateFlag': False, 'buyQuantity3': None, 'buyQuantity2': None, 'buyQuantity1': 2730.0, 'series': 'EQ', 'faceValue': 2.0, 'buyQuantity5': None, 'closePrice': 0.0, 'open': 346.05, 'isinCode': 'INE742F01042', 'lastPrice': 348.45}
What I have tried:
symbol = data['symbol'] open = data['open']
Here data is the dictionary as mentioned above. please help. here is an example of several dictionaries.
Advertisement
Answer
(I have updated this answer, and assumed the dictionaries are stored in an array).
# So you a file with list having 50 dictionaries like this [ {}, {}, {}, {}, {} ]
To solve this, we will just traverse through the array, and to get an index, and then obtain the value from each index of list of dictionaries:
''' Assuming the list goes like this list_data = [{}, {}, {}, {}] having you dictionary only, I am just showing it for the sake of understanding ''' list_data = [{}, {}, {} ....] new_list = [] # where you want to store the result # traversing through each dict item in list_data # dictionary.get(key) is very famously used for getting exact key's value # Read more about dictionaries here: # https://www.w3schools.com/python/python_dictionaries.asp for i in range(len(list_data)): #assuming that every dictionary has the key 'symbol' and 'open' new_list.append([list_data[i].get('symbol'), list_data[i].get('open')]) print(new_list) # Output will be consisting the array of array, like this # [ ['ADANIPORTS', 346.05], .... ] since every dictionary should show up it's # symbol and open value uniquely # ..... => This is for more values >>> [['ADANIPORTS', 346.05], ..... ]