问题:,我正在尝试从freshdesk网站中提取一个结果列表。这一切都是在json中进行的,我必须使用for循环来检索我想要的特定数据。
当我使用for循环并使用"print“时,它可以工作,并且我在IDE的命令行中看到了我想要的所有信息。
示例:
ticketresponse = requests.get(freshdeskticketsurl, auth = (freshdeskapi, freshdeskpassword))
ticket_json = ticketresponse.json()
lenghtofticket30 = (len(ticket_json))
print(f"Here are the number of tickets in the past 30 days: ", lenghtofticket30)
def myTicketstatusloop():
for i in range(len(ticket_json)):
ticketsubject_str = json.dumps(ticket_json[i]['subject'], indent=2,)
ticketstatus_str = json.dumps(ticket_json[i]['status'], indent=2,)
ticketcreationdate = json.dumps(ticket_json[i]['created_at'], indent=2,)
ticketupdateddate = json.dumps(ticket_json[i]['updated_at'], indent=2)
ticketstatusreplace_str = ticketstatus_str.replace("2", "Open")
ticketstatusreplace_str = ticketstatus_str.replace("5", "Closed")
print(ticketsubject_str)
print(ticketstatusreplace_str)
print(ticketcreationdate)
print(ticketupdateddate)
print("\n")
myTicketstatusloop()结果:
Here are the number of tickets in the past 30 days: 38
"Ensure M365 email is in outlook, setup wifi adapter, see why computer is slow"
Closed
"2021-03-03T20:08:54Z"
"2021-03-03T20:09:00Z"
"FW: Email DL List"
Closed
"2021-03-03T19:21:16Z"
"2021-03-03T19:28:29Z"
"knowb4 users"
2
"2021-03-03T17:38:39Z"
"2021-03-03T17:38:39Z"
"FW: EFT Payment scheduled 03 March 21 Account: MJJ0011A"
2
"2021-03-03T17:30:36Z"
"2021-03-03T17:35:34Z"图片:

然而,当我试图在tkinter的标签中获得相同的值时,我只得到第一个结果.
示例:
ticketresponse = requests.get(freshdeskticketsurl, auth = (freshdeskapi, freshdeskpassword))
ticket_json = ticketresponse.json()
lenghtofticket30 = (len(ticket_json))
print(f"Here are the number of tickets in the past 30 days: ", lenghtofticket30)
def myTicketstatusloop():
for i in range(len(ticket_json)):
ticketsubject_str = json.dumps(ticket_json[i]['subject'], indent=2,)
ticketstatus_str = json.dumps(ticket_json[i]['status'], indent=2,)
ticketcreationdate = json.dumps(ticket_json[i]['created_at'], indent=2,)
ticketupdateddate = json.dumps(ticket_json[i]['updated_at'], indent=2)
ticketstatusreplace_str = ticketstatus_str.replace("2", "Open")
ticketstatusreplace_str = ticketstatus_str.replace("5", "Closed")
label1 = Label(homepage, text = ticketsubject_str + "\n" + ticketstatusreplace_str + "\n" + ticketcreationdate + "\n" + ticketupdateddate)
label1.grid(row=1, column=1)
homepage = Tk()
homepage.title("My first GUI")
# set size of window
homepage.geometry('1473x400')
myButton1 = Button(homepage, text="Tickets open", command=myTicketstatusloop, bg="black", fg="green", font='Helvetica 13 bold', padx=20, pady=20).grid(row=0, column=0)
myButton2 = Button(homepage, text="Tickets closed today", bg="black", fg="green", font='Helvetica 13 bold',padx=20, pady=20).grid(row=0, column=1)
myButton3 = Button(homepage, text="most reoccuring type of ticket", bg="black", fg="green", font='Helvetica 13 bold', padx=20, pady=20).grid(row=0, column=2)
myButton4 = Button(homepage, text="Average Hours this week", bg="black", fg="green", font='Helvetica 13 bold', padx=20, pady=20).grid(row=0, column=3)
myButton5 = Button(homepage, text="Todo-list", bg="black", fg="green", font='Helvetica 13 bold', padx=20, pady=20).grid(row=0, column=4)
myButton6 = Button(homepage, text="Intermedia", bg="black", fg="green", font='Helvetica 13 bold', padx=20, pady=20).grid(row=0, column=5)
myButton7 = Button(homepage, text="M365", bg="black", fg="green", font='Helvetica 13 bold', padx=20, pady=20).grid(row=0, column=6)
myButton8 = Button(homepage, text="Knowbe4", bg="black", fg="green", font='Helvetica 13 bold', padx=20, pady=20).grid(row=0, column=7)
myButton9 = Button(homepage, text="Ninja", bg="black", fg="green", font='Helvetica 13 bold', padx=20, pady=20).grid(row=0, column=8)
homepage.mainloop()结果:
"FW: Alert - OnPointe Properties / JMark and Associates - CPDC02 - Disk Volume Free space for 'C:' is less than or equal to 10% from 2021-0..."
Closed
"2021-03-03T16:45:29Z"
"2021-03-03T19:20:45Z"图片:

我尝试了几个不同的想法,但到目前为止还没有给出所有的数据。如果你有什么想法或建议,请告诉我。
谢谢大家!
发布于 2021-03-03 20:57:48
快速修复:如果要向下显示所有内容,那么只需增加行号,例如:
label1.grid(row=i, column=1)如果想要不同的结构,那么将所有这些拉出的数据附加到列表中,然后循环遍历所需的行和列,从列表中获取项。
https://stackoverflow.com/questions/66464440
复制相似问题