This solution will work if you have iterability as your value, as in the provided json.
my_dict = {"0": ["1", "2", "3", "4"], "1": ["0", "2", "3", "4", "27", "94", "95", "97", "128", "217", "218", "317"], "2": ["0", "1", "3", "4", "94", "95"], "3": ["0", "1", "2", "4", "377"], "4": ["0", "1", "2", "3", "27", "28"], "5": ["6", "7", "8"], "6": ["5", "7", "8"], "7": ["5", "6", "8", "14", "23", "40", "74", "75", "76", "362", "371", "372"], "8": ["5", "6", "7", "66"], "9": ["10", "11", "12"], "10": ["9", "11", "12", "56", "130", "131"]} output_dict = {} for key, value in my_dict.iteritems(): output_dict[int(key)] = [int(item) for item in value] output_dict
Output:
{0: [1, 2, 3, 4], 1: [0, 2, 3, 4, 27, 94, 95, 97, 128, 217, 218, 317], 2: [0, 1, 3, 4, 94, 95], 3: [0, 1, 2, 4, 377], 4: [0, 1, 2, 3, 27, 28], 5: [6, 7, 8], 6: [5, 7, 8], 7: [5, 6, 8, 14, 23, 40, 74, 75, 76, 362, 371, 372], 8: [5, 6, 7, 66], 9: [10, 11, 12], 10: [9, 11, 12, 56, 130, 131]}
In the second part of the question, you can use the understanding of line by line when reading a file. However, he is confused as hell.
with open('coauthorshipGraph.txt', 'r') as f: json_data = { int(key) : [int(item) for item in value] for key, value in json.load(f).iteritems()} json_data
This gives the same result as above.