在下面的代码中,我试图将每个oth元素附加到JSON文件中:
title = [] # api_result['search_results']['title']
asin = [] # api_result['search_results']['asin']
link = [] # api_result['search_results']['link']
categories = [] # api_result['search_results']['categories'][0]['name']
image_url = [] # api_result['search_results']['image']
rating = []
rating_total = []
price = [] # apit_result['prices'][0]['value']
top_positive_review = []
top_positive_review_rating = []
top_critical_review = []
top_critical_review_rating = []
ratings_total_filtered = [] # apit_result['']
reviews_total_filtered = []
reviews_total = []
reviews = []
for o in range(len(title)):
with open("metadata.jsonl", "w+") as outfile:
entry = {
'title': title[o],
'asin': asin[o],
'link': link[o],
'categories': categories[o],
'image_url': image_url[o],
'rating': rating[o],
'rating_total': rating_total[o],
'price': price[o],
'top_positive_review': top_positive_review[o],
'top_positive_review_rating': top_positive_review_rating[o],
'top_critical_review': top_critical_review[o],
'top_critical_review_rating': top_critical_review_rating[o],
'ratings_total_filtered': ratings_total_filtered[o],
'reviews_total_filtered': reviews_total_filtered[o],
'reviews_total': reviews_total[o],
'reviews': reviews[o]}我认为这不是正确的做法。基本上,我希望在metadata.jsonl文件中有这样的条目:
{"title":"some title", "asin":"ABCDEF", ...}
{"title":"another title", "asin":"GHIJKL", ...}
...我哪里出问题了?
发布于 2022-11-13 09:24:59
必须只使用with open块打开文件一次,否则每次迭代时都会打开和关闭文件。
此后,只需在每次迭代时结束。
看看这段代码:
import json
# I am assuming your data in this form
title = ['title_0', 'title_1']
link = ['link_0', 'link_1']
with open("metadata.jsonl", "w") as file:
for o in range(len(title)):
entry = {
'title': title[o],
'link': link[o],
}
json_object = json.dumps(entry, ensure_ascii=False) # on line json
file.write(json_object)
file.write("\n")产出将是:
{"title": "title_0", "link": "link_0"}
{"title": "title_1", "link": "link_1"}https://stackoverflow.com/questions/74419713
复制相似问题