循环json对象并通过用户输入将元素与值一起添加

时间:2017-06-11 08:08:02

标签: python json

如果我有一个带有多个json对象的json文件,如下面的

{"created_at":"Sun Apr 16 02:00:14 +0000 2017","id":853427785339084800,"id_str":"853427785339084800"}

{"created_at":"Sun Apr 16 02:03:24 +0000 2017","id":853428582613475332,"id_str":"853428582613475332"}

我想循环所有json对象,通过命令行中的用户输入逐个添加新元素和值。是不是因为我的格式不在json数组中?

import json
import pandas as pd
from pprint import pprint

tweets_data_path = 'data.json'

tweets_data = []
tweets_file = open(tweets_data_path, "r")
for line in tweets_file:
    try:
        tweet = json.loads(line)
        tweets_data.append(tweet)
    except:
        continue

pprint(tweets_data)

1 个答案:

答案 0 :(得分:2)

您的代码运行正常,所以我假设问题是如何将用户输入添加为从文件加载的每个json的新键值对。对于python 2.7,使用raw_input,对于python 3,raw_input被重命名为input

import json
import pandas as pd
from pprint import pprint

tweets_data_path = 'data.json'

tweets_data = []
tweets_file = open(tweets_data_path, "r")
for line in tweets_file:
    try:
        tweet = json.loads(line)
        tweet["new_key"] = raw_input('provide input: ')
        tweets_data.append(tweet)
    except:
        continue

pprint(tweets_data)