2017-06-27 11 views
0

Excelファイルからレポートを生成する関数があります。JSONオブジェクトをリストに追加

アイテムが生成するレポートの数です
import json 

def get_dic_from_two_lists(keys, values): 
    return { keys[i] : values[i] for i in range(len(keys)) } 

def report(items): 
    for i in range(items): 
     dict_keys = ['name', 'age'] 
     dict_values = ['n', 'a'] 
     data = get_dic_from_two_lists(dict_keys, dict_values) 
     report = json.dumps(data) 
     print(report) 
report(5) 

: 今のところ、それは次のように動作します。 これはうまくいきますが、結果をリストに追加し、JSONオブジェクトをカンマで区切り、すべてをファイルに書き込む必要があります。それを行う良い方法はありますか? append()機能はうまくいかないようです。

ありがとうございます!

+1

は、あなたのコード内でインデントや句読点を修正することはできますか? – khelwood

+0

確かに、すでに完了しました。 –

+0

希望の出力を同じページに掲載する –

答えて

2

あなたは、リスト内のすべてのレポートオブジェクトを配置し、一度にJSONに変換することができます:それは構文エラーを生成しないように

import json 

def get_dic_from_two_lists(keys, values): 
    return { keys[i] : values[i] for i in range(len(keys)) } 

def report(items): 
    data_list = [] 
    for i in range(items): 
     dict_keys = ['name', 'age'] 
     dict_values = ['n', 'a'] 
     data = get_dic_from_two_lists(dict_keys, dict_values) 
     data_list.append(data) 

    reports = json.dumps(data_list) 
    print(reports) 

report(5) 
+0

純金、私の間違いを理解しました。ありがとう! –

関連する問題