2017-07-17 65 views
0

我需要我的python文件以格式返回json输出。无法实现特定格式的JSON

{ 

"1": ["1503", "22939", "0", "0.0", "T"], 

"2": ["850", "4895", "4", "1.647058823529412", "T"], 

"3": ["337", "2748", "2", "2.3738872403560833", "T"], 

"4": ["260", "2041", "2", "3.076923076923077", "T"] 

} 

我能得到的最好的是输出的个别项目这样

{"1": ["1503", "22939", "0", "0.0", "T"]} 

{"2": ["850", "4895", "4", "1.647058823529412", "T"]} 

{"3": ["337", "2748", "2", "2.3738872403560833", "T"]} 

{"4": ["260", "2041", "2", "3.076923076923077", "T"]} 

我的代码从一个CSV文件读取,并生成一个JSON。

# in an iterative for loop 

    # Empty variable 

    data = {} 

    #lineCount is an incremental index , content List is a populated List 

    data[lineCount] =contentList 

    # Converting to a json format 

    json_data = json.dumps(data) 

    print(json_data) 

我尝试了不同的方式,但无法生成我的预期格式,任何帮助表示赞赏。

+1

你可能已经创建了一个列表的字典,而不是一个字典。但你的代码是不完整的,所以我们不能确定 –

+0

是的,有很多行,但我只是拿出主要部分,以避免混淆。让我编辑并添加更多行 – Sumanth

+0

...并且您失败.... –

回答

2
data = {} 

#lineCount is an incremental index , content List is a populated List 

data[lineCount] =contentList 

# Converting to a json format 

json_data = json.dumps(data) 

这样做在循环中每次创建一个新的字典,这解释了1项目词典的列表。

初始化您的字典只有一次:

data = {} 

然后循环和填充它

for lineCount in some_iterable: 
    ... 
    data[lineCount] = contentList 

然后在循环结束,倾倒

json_data = json.dumps(data)