Influx DB Python 'индексы списка должны быть целыми числами, а не str' - PullRequest
0 голосов
/ 26 июня 2019

В настоящее время я пытаюсь использовать привязки Python InfliffDB для вставки некоторых данных, которые я собрал, в InfxDB.

Однако, когда я пытаюсь вставить данные с помощью:

def insert(self,datapoints):
        '''Takes a list of datapoints created via create_json_dict()
           Inserts these into the InfluxDB.'''
        try:
            print(type(datapoints))
            print(datapoints)
            if self.client.write_points(datapoints) == True:
                print("Inserted for process {0} syscall {1} with time {2}".format(datapoints['processname'],datapoints['systemcall'],datapoints['time']))            
            else:
                print("Something went wrong")
        except Exception as e:
            print("{0} occured in insert ".format(str(e)))

переводчик бросает

<class 'list'>
[{'measurement': 'traces', 'tags': {'processname': ''}, 'time': '2019-06-26T12:10:43+02:00', 'fields': {'systemcall': 'timerfd_settime'}}]
list indices must be integers or slices, not str occured in insert 

Что я делаю не так?JSON выглядит хорошо сложенным для меня.

Заранее спасибо.

1 Ответ

1 голос
/ 26 июня 2019

Когда вы использовали эту функцию, type(datapoints) был <class 'list'>, но затем в .format вы пытаетесь сослаться на datapoints со строкой (например, datapoints['processname']). Я думаю, вы ожидаете, что тип объекта datapoints будет dict

...