Импортируйте файл json, но используйте информацию только по одной строке за раз - PullRequest
0 голосов
/ 17 февраля 2020

Я пишу, потому что я думаю, что то, что я спрашиваю, потребует нескольких различных функций, и я не уверен, как это должно быть структурировано.

import json

filename = rs.OpenFileName("Open JSON File", filter)

#Read JSON data into the results variable
if filename:
with open(filename, 'r') as f:
    results = json.load(f)

Чтобы импортировать данные в переменная результатов, и скажем, что это данные в файле json.

{"votes": {"funny": 2, "useful": 5, "cool": 1}, "user_id": "harveydennis", "name": "Jasmine Graham", "url": "http://example.org/user_details?userid=harveydennis", "average_stars": 3.5, "review_count": 12, "type": "user"}
{"votes": {"funny": 1, "useful": 2, "cool": 4}, "user_id": "njohnson", "name": "Zachary Ballard", "url": "https://www.example.com/user_details?userid=njohnson", "average_stars": 3.5, "review_count": 12, "type": "user"}
{"votes": {"funny": 1, "useful": 0, "cool": 4}, "user_id": "david06", "name": "Jonathan George", "url": "https://example.com/user_details?userid=david06", "average_stars": 3.5, "review_count": 12, "type": "user"}
{"votes": {"funny": 6, "useful": 5, "cool": 0}, "user_id": "santiagoerika", "name": "Amanda Taylor", "url": "https://www.example.com/user_details?userid=santiagoerika", "average_stars": 3.5, "review_count": 12, "type": "user"}
{"votes": {"funny": 1, "useful": 8, "cool": 2}, "user_id": "rodriguezdennis", "name": "Jennifer Roach", "url": "http://www.example.com/user_details?userid=rodriguezdennis", "average_stars": 3.5, "review_count": 12, "type": "user"}

Теперь я хотел бы, чтобы оператор if then использовал это и назначал отдельную переменную, но он идет построчно line.

если "funny"> = 5, то "user_id" = variableName

do {

Затем я приведу ниже команду do, которая будет использовать эту переменную , Все будет перезапущено со следующей записи (следующей строки голосов), пока не останется ни одной записи.

Возможно ли это вообще? Если так, то как бы это выглядело?

1 Ответ

0 голосов
/ 17 февраля 2020

Надеюсь, я правильно понимаю вашу проблему, вы можете перебирать строки в вашем файле и генерировать json объект с каждой строкой

with open("file.txt", "r") as file:
    for line in file:
        current_json = json.loads(line)
        your_awesome_function(current_json["votes"]["funny"])
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...