Датафрейм считывается как словарь после добавления функций и библиотеки tkinter (pandas, tkinter)
Написала код, который берет два файла, сравнивает их и выводит текстовый файл с различиями. В юпитере работает отлично. Для коллег, решила добавить блок из библиотеки tkinter, чтобы можно было в дальнейшем выгрузить как exe. Проблема в том, что теперь я не могу сделать корректировку датафрейма перед "превращением" его в словарь. Ниже сокращенный код и ошибка:
Ошибка: AttributeError: 'dict' object has no attribute 'columns'
def browse_file(file_entry):
...
def choose_sheet(file_path):
...
def choose_header(file_path):
...
def load_excel():
file_path1 = entry1.get()
file_path2 = entry2.get()
sheet_name1 = choose_sheet(file_path1)
sheet_name2 = choose_sheet(file_path2)
header_1 = choose_header(file_path1)
header_2 = choose_header(file_path2)
LK = pd.read_excel(file_path1, sheet_name=sheet_name1,
usecols=['Формы', 'Показатели'],
header=header_1)
MANUAL = pd.read_excel(file_path2, sheet_name=sheet_name2,
usecols=['ID', 'FORM', 'HIDDEN', 'MSR'],
header=header_2)
condition = MANUAL['MSR'] == 'MSR0050'
MANUAL = MANUAL[~condition]
#блок со словарями
def dicts(MANUAL, LK):
result_dict_3 = {}
for _, row in MANUAL.iterrows():
keys = str(row['FORM']).replace('\n', '').split(',')
value = row['ID']
for key in keys:
if key == 'nan':
continue # Пропустить 'nan'
if key in result_dict_3:
result_dict_3[key].add(value)
else:
result_dict_3[key] = {value}
.......
То есть, я загружаю файл, удаляю строки по условию и уже измененный файл хочу использовать как словарь. Но как бы я не меняла порядок функций, все равно ошибка, что файл MANUAL стал словарем, никак не уходит.