Python Forum
Adding a string value to a dictionary that is inside a list
Thread Rating:
  • 0 Vote(s) - 0 Average
  • 1
  • 2
  • 3
  • 4
  • 5
Adding a string value to a dictionary that is inside a list
#1
This program prints out the following:
{'Date': '2018-12-11', 'Open': 143.88, 'High': 143.88, 'Low': 141.1, 'Close': 142.08, 'Volume': 20300349.0, 'Dividend': 0.0, 'Split': 1.0, 'Adj_Open': 143.88, 'Adj_High': 143.88, 'Adj_Low': 141.1, 'Adj_Close': 142.08, 'Adj_Volume': 20300349.0}

import pandas as pd

def main():
    data = pd.read_json("/home/mahmoud/Desktop/FB.json", orient='records')

    company_name = data['dataset']['name']
    columns_names = data['dataset']['column_names']
    stock_data = data['dataset']['data']

    # Here is the change
    data_list = [{c: v for c, v in zip(columns_names, r)} for r in stock_data]

    for val in range(len(data_list)):
        print(data_list[val])

if __name__ == '__main__':main()
I would like to make the program to print out:
{'Company Name':company_name(the value of the company_name string), 'Date': '2018-12-11', 'Open': 143.88, 'High': 143.88, 'Low': 141.1, 'Close': 142.08, 'Volume': 20300349.0, 'Dividend': 0.0, 'Split': 1.0, 'Adj_Open': 143.88, 'Adj_High': 143.88, 'Adj_Low': 141.1, 'Adj_Close': 142.08, 'Adj_Volume': 20300349.0}
Reply
#2
I would change the data comprehension on line 11 into a loop, and add that information in the loop:

data_list = []
for row in stock_data:
    data_list.append({column_name: value for column_name, value in zip(column_names, row)})
    data_list[-1]['Company Name'] = company_name
Craig "Ichabod" O'Brien - xenomind.com
I wish you happiness.
Recommended Tutorials: BBCode, functions, classes, text adventures
Reply


Possibly Related Threads…
Thread Author Replies Views Last Post
  convert a list of string+bytes into a list of strings (python 3) pacscaloupsu 4 10,741 Mar-17-2020, 07:21 AM
Last Post: markfilan
  Python dictionary adds only the last elements of a list mahmoud899 1 2,440 Dec-13-2018, 06:30 PM
Last Post: ichabod801

Forum Jump:

User Panel Messages

Announcements
Announcement #1 8/1/2020
Announcement #2 8/2/2020
Announcement #3 8/6/2020