我有一个问题,因为我的一个供应商。出于某种原因,每当我通过他们的统计API运行任何报告时,它总是使用太平洋标准时间运行,而不管我在东部标准时间。为了说明这一点,我必须运行报告,将开始和结束日期拨回三个小时,然后我需要手动将“TimeStamp”列的时间向前更改三个小时。最后,我需要将所有结果输入到我的MS SQL实例中。我已经到了可以把结果拿回来的地步,但是我被下一步该做什么所困扰。我的直觉告诉我,这可能是一个熊猫解决方案,但我不确定如何将结果输入熊猫数据框。以下是迄今为止我所拥有的(请注意,我与之合作的供应商名为Five9,我为他们找到了一个库,可以帮助我连接到API并获得我想要的报告结果):
from five9 import Five9
import datetime
from datetime import datetime, timedelta
import time
from pytz import timezone
import pyodbc
import json
now_utc = datetime.now(timezone('UTC'))
now_eastern = now_utc.astimezone(timezone('US/Eastern'))
#Change days from current time
startreportime = now_eastern - timedelta(days=2)
endreportime = now_eastern - timedelta(days=1)
#Set start and end time for report criteria
starttime = f"{(startreportime):%Y-%m-%d}" + 'T21:00:00.000'
endtime = f"{(endreportime):%Y-%m-%d}" + 'T20:59:00.000'
#connect to API
client = Five9('MyUID','MyPWD')
#Set variables as start and end
start = starttime
end = endtime
#set criteria using variables
criteria = {'time':{'end':end, 'start':start}}
#Get report and seet criteria for report
identifier = client.configuration.runReport(folderName='Five9 Import Data',\
reportName='Agent State Details',criteria=criteria)
#Sleep so report has time to complete
time.sleep(30)
#Get report results
get_results = client.configuration.getReportResult(identifier)
results = get_results['records']
print(results)
使用此方法,我可以得到以下结果:
[{
'values': {
'data': [
'Mon, 22 Feb 2021 21:00:00',
'abowling@*****.com',
'Adam',
'Bowling',
'Login',
None,
None,
'TUPSS, Telamon Inbound, Stericycle Environment Inbound, Stericycle ComSol Inbound,
'01:18:05',
'08 - TS'
]
}
如果我能把这些结果放到一个数据框中,我很肯定我能管理其余的。我知道如何使用timedelta来处理时间戳问题,并且我可以处理从数据帧到sql的时间戳问题。我只是花了很长时间试图弄清楚如何将这些结果放入数据帧中
不确定是否有人会读到这篇文章,但我将其与以下内容结合使用:
相关问题 更多 >
编程相关推荐