這個問題在這里已經有了答案: 了解切片 (36 個答案) 19 小時前關閉。
在下面的代碼中,我試圖將每個 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", ...}
...
我哪里錯了?
uj5u.com熱心網友回復:
使用該塊只能打開檔案一次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://www.uj5u.com/qianduan/532889.html
下一篇:查詢字典串列(python)
