如果我有一个带有多个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)
答案 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)