Я пытаюсь работать с программой с графическим интерфейсом, которая проходит через файл Excel. Пользователь получает данные, записанные в файле Excel, и, если он нажимает «Принять», он должен направить эти данные в одну таблицу. Если нет - другой стол. Я пытался обойти это любым способом, который я могу найти в stackoverflow, но ни один из них, кажется, не решил мою проблему. Я хотел бы за любую помощь.
Я продолжаю сталкиваться с проблемой
Exception in Tkinter callback
Traceback (most recent call last):
File "C:\Users\roniz\AppData\Local\Programs\Python\Python37\lib\tkinter\__init__.py", line 1705, in __call__
return self.func(*args)
File "C:/Users/roniz/PycharmProjects/emun/manual_validation.py", line 187, in accept_query
self.accepted.append(self.df.iloc[self.num]['bizid'])
File "C:\Users\roniz\AppData\Local\Programs\Python\Python37\lib\site-packages\pandas\core\indexing.py", line 1424, in __getitem__
return self._getitem_axis(maybe_callable, axis=axis)
File "C:\Users\roniz\AppData\Local\Programs\Python\Python37\lib\site-packages\pandas\core\indexing.py", line 2157, in _getitem_axis
self._validate_integer(key, axis)
File "C:\Users\roniz\AppData\Local\Programs\Python\Python37\lib\site-packages\pandas\core\indexing.py", line 2088, in _validate_integer
raise IndexError("single positional indexer is out-of-bounds")
IndexError: single positional indexer is out-of-bounds
И если не эта, я получаю то же самое, просто написано по-другому.
Я пыталсяЧтобы передать данные в виде однострочного словаря, я попытался передать данные в разных местах кода.
import tkinter as Tkinter
import googlemaps
import pandas as pd
import requests
class Application(Tkinter.Frame):
def __init__(self, master):
Tkinter.Frame.__init__(self, master)
self.parent = master
frame = Tkinter.Frame(self)
self.df = pd.read_excel('checkformanual.xlsx', sheet_name="Sheet1", header=0)
self.num = 0
self.gpi = self.df.iloc[self.num]['googleid'] # @todo: lo#
self.accepted = []
self.declined = []
self.butt1 = Tkinter.Button(frame, text='Accept', command=self.accept_query)
self.butt2 = Tkinter.Button(frame, text='Decline', command=self.decline_query)
frame.pack(fill=Tkinter.BOTH, expand=1, side=Tkinter.BOTTOM)
self.pack(fill=Tkinter.BOTH, expand=1)
def accept_query(self):
self.num += 1
self.accepted.append(self.df.iloc[self.num]['bizid'])
def decline_query(self):
self.num += 1
self.declined.append(self.df.iloc[self.num]['bizid'])
def main():
root = Tkinter.Tk()
app = Application(root)
app.mainloop()
accepteddf = app.df[app.df['bizid'].isin(app.accepted)]
declineddf = app.df[app.df['bizid'].isin(app.declined)]
accepteddf.to_excel("accepted.xlsx", index=False)
declineddf.to_excel("declined.xlsx", index=False)
if __name__ == '__main__':
main()