Ответ JSON
Код: Выделить всё
[
{
"pbxId": "XXXcxx",
"site": "XXX Group - Sydney Office",
"name": "XXXX Service",
"extension": "622",
"totalMembers": 3,
"totalInbound": 1,
"totalAbandoned": 0,
"totalAnswered": 1,
"totalMissed": 0,
"totalCallsToVM": 0,
"totalAdvanced": 0,
"totalRgTime": 36339,
"totalTalkTime": 25613,
"totalCalls": 1,
"avgAbandonedTime": 0,
"avgRgTime": 36339,
"avgRingTime": 10726,
"avgTalkTime": 25613,
"totalAbandonedTime": 0,
"totalRingTime": 10726
}
]
Код: Выделить всё
response2 = requests.get(url, headers=headers)
d =json.loads(response2.text)
cdr =json_normalize(d)
print(cdr)
Затем я вставляю это в базу данных SQL
Код: Выделить всё
conn = pyodbc.connect(connectionString)
df = pd.DataFrame(cdr, columns = ['pbxId','site','name','extension',....'totalRingTime'])
df.columns = ['pbxId','site','name','extension',.....'totalRingTime']
#print(df)
cursor = conn.cursor()
df = df.astype(object).where(pd.notnull(df),None)
for index, row in df.iterrows():
cursor.execute("INSERT INTO eightwave_RingGroupSummary values(?,?,?,?,...,?,?,?,?,?)",row.pbxId,row.site,str(row.name),row.extension,int(row.totalMembers),int(row.totalInbound),....int(row.totalRingTime))
cursor.commit()
cursor.close()
conn.close()
Любая помощь приветствуется.
TIA
Я ожидаю, что значение будет таким же, как и возвращаемое API. Я попытался удалить приведение типов str()
PS: База данных SQL верна, поскольку INSERT вручную работает должным образом
PS: выходные данные скрипта. См. значения в кружках.
введите здесь описание изображения
Подробнее здесь: https://stackoverflow.com/questions/787 ... das-datafr