我有一个键列表(存储为字符串:str1,str2,str3 ...),我想从字典中获取。从技术上讲,我正在使用jsonlines流式传输100,000个词典(Twitter推文)。
我需要将每个键的值存储在单独的值列表中(每个列表都是键的名称),我已经将它们创建为empy列表(即list4str1,list4str2,list4str3 ...)。
file = jsonlines.open(filename)
listofkeys = ['filter_level','created_at','favourite_count','retweet_count',(etc),]
tweet_texts = []
filter_level = []
created_at = []
favourite_count = []
retweet_count = []
for tweet in file
if tweet["text"] not in duplication_check:
#What happens when a unique tweet is found
itteration += 1
string = ("Tweet: " + str(itteration) + " :" + tweet["text"])
duplication_check.append(tweet["text"])
tweet_texts.append(string)
uniquecount += 1
#_______THIS IS THE BIT I NEED HELP WITH______
for items in listofkeys
items.append(tweet[items])
#_______THIS IS THE BIT I NEED HELP WITH______
if itteration%10000 == True & itteration != 1:
print(itteration, " Items")
else:
#What happens when a copy is found
copycount += 1
itteration += 1
if itteration%10000 == True:
print(itteration-1, " Items")
我收到以下错误:
AttributeError: 'str' object has no attribute 'append'
我不知道使用我有限的编码知识如何工作,因此需要帮助(也许有图书馆或适当位置的功能?)
答案 0 :(得分:0)
如果我不得不猜测,因为您发布的代码中似乎缺少一些东西
for items in listofkeys
items.append(tweet[items])
items
是listofkeys
中的字符串,您不能将任何内容附加到这样的字符串
一个好的解决方案是使用items字符串作为键来创建列表字典。
final_results = {}
for items in listofkeys
if items not in final_results:
final_results[items] = [tweet[items]]
else:
final_results[items].append(tweet[items])