Home > Net >  How to create a json file from list in python?
How to create a json file from list in python?

Time:09-07

I am tring to create a json file with my lists in my python code:

I have

arr_of_id_by_user = [1, 2, 3]
arr_of_wallet_amount = [100,3400,200]

I would like this to return in the json file like

jsonfile = [{
    "user" : 1,
    "wallet amount": 100
},
{
    "user" : 2,
    "wallet amount": 3400
},
{
    "user" : 3,
    "wallet amount": 200
}]

Is it possible to do that? I tried to do a for loop like this:

for elements in arr_of_id_by_user:
        return jsonify({
            "id": elements
        })

and json.dumps() but it don't work ... maybe I have to do a tuple with (user.value[0], wallet_amount.value[0]) ?

for peoples who try to do the reverse thing : How to create a Python list from a JSON object?

I would like to thank all those who helped me and who participate in the learning of all.

CodePudding user response:

Convert the lists to list of dictionaries and dump this to the file

arr_of_id_by_user = [1, 2, 3]
arr_of_wallet_amount = [100, 3400, 200]
with open('file.json', 'w') as file:
    json.dump([{'user': id, 'wallet amount': amount} for id, amount in zip(arr_of_id_by_user, arr_of_wallet_amount)], file)

file.json

[{"user": 1, "wallet amount": 100}, {"user": 2, "wallet amount": 3400}, {"user": 3, "wallet amount": 200}]

CodePudding user response:

Another simple solution, using enumerate:

import json

arr_of_id_by_user = [1, 2, 3]
arr_of_wallet_amount = [100,3400,200]

jsonfile=[]

for index, value in enumerate(arr_of_id_by_user):
    jsonfile.append({
        "user": value,
        "waller_amount": arr_of_wallet_amount[index]
    }) 

print (json.dumps(jsonfile, indent=4))

CodePudding user response:

Python List to JSON Array

list_example = ["Mango", 1, 3,6, "Oranges"];
print(json.dumps(list_example))
  • Related