Я работаю над трекером белка, чтобы отслеживать количество белка, которое я съел сегодня, и у меня возникают проблемы с вводом значений в электронную таблицу. Я сохранил еду и связанные с ней значения белка в словаре (total_protein_dictionary), и когда я включаю операторы печати в свой код, он говорит, что значения вводятся в лист, но когда я иду проверить это в Excel, там ничего нет. Я пробовал пару разных вещей.
import openpyxl
def write_values_to_spreadsheet(file, total_protein_dictionary):
"""Takes the keys and values of the total protein dictionary and puts them in the spreasheet"""
wb = openpyxl.load_workbook(file)
sheet_names = wb.sheetnames
sheet = wb.get_sheet_by_name(sheet_names[0])
print(len(total_protein_dictionary))
for next_row in range(1, len(total_protein_dictionary)+1):
food, protein_grams = total_protein_dictionary.popitem()
sheet.cell(column=1 , row=next_row, value=food)
sheet.cell(column=2 , row=next_row, value=protein_grams)
wb.save(file)
вариант 2:
def write_values_to_spreadsheet(file, total_protein_dictionary):
"""Takes the keys and values of the total protein dictionary and puts them in the spreasheet"""
wb = openpyxl.load_workbook(file)
sheet_names = wb.sheetnames
sheet = wb.get_sheet_by_name(sheet_names[0])
print(len(total_protein_dictionary))
for key in range(1, len(total_protein_dictionary)+1):
food, protein_grams = total_protein_dictionary.popitem()
print(food, protein_grams)
index = str(key)
sheet['A' + index] = food
sheet['B' + index] = protein_grams
wb.save(file)
Почему все это не отображается в моем листе Excel? Кроме того, в чем разница между использованием
sheet_names = wb.sheetnames
sheet = wb.get_sheet_by_name(sheet_names[0])
и
wb.active
если я хочу работать на первом листе?