2017-07-17 66 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)