Python вызов API JSON для перезаписи данных итерации CSV - PullRequest
0 голосов
/ 19 марта 2020

Впервые до Python ... пытается выполнить вызов API и вывести данные в CSV.

Работает нормально для одной передаваемой переменной, но , когда я анализирую список, последний элемент в списке - единственный вывод, который я получаю .

Глядя, чтобы найти лучший способ подойти к этому. Не уверен, что это просто проблема логики c или мне нужно найти способ последовательно добавлять файл и удалять результаты при его повторном запуске.

    list = open(infile, "r")
    print("-------------Attempting to Query Data----------------")
    for item in list: 
        try:
            if inp == 1:
                eval_string = "&value=" + item
            elif inp == 2:
                eval_string = "&value__regexp=.*." + item + "*"
            else:
                print("Invalid input!")
            result = requests.get(url + "api_key=" + api + "&username=" + user + eval_string + "&limit=" + str(limit) + "&status=" + status)
            data = result.json()
            if result.status_code == 200:
                with open(outfile, 'w', newline='') as data_file:
                    writer = csv.writer(data_file)
                    count = 0
                    for obj in data['objects']:
                        if count == 0:
                            header = 'value', 'confidence', 'type', 'source', 'date', 'status'
                            writer.writerow(header)
                            count += 1
                        writer.writerow([obj['value'], obj['confidence'], obj['type'], obj['source'], obj['date'], obj['status']])
            else:
                print("-------------Failed to connect - check API config info or that site is up----------------")
        except OSError:
            print("Failed to query.")
    print("-------------Results returned in " + outfile + "----------------")
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...