Я пытаюсь прочитать файл xlsx после записи в существующий файл Excel xlsx с помощью openpyxl.
Мой файл Excel file1.xlsx
со значением 1
на A1
, значением 2
на A2
и значением A1 + A2
на A3
, которое на данный момент равно 3
.
def updateFile(a):
wb = load_workbook('file1.xlsx')
ws = wb.active
#Update specific column
ws['A1'] = a
wb.save('file1.xlsx')
def readFile():
wb = load_workbook('file1.xlsx')
sheet = wb['Sheet1']
print(sheet['A3'].value)
Моя программа собирается обновить A1
на file1.xlsx
и прочитать данные на A3
. Например, вызов updateFile(5)
обновит A1
до 5
и, возможно, даст мне 7
на A3
.
К сожалению, после вызова updateFile(5)
readFile()
выдаст = A1 + A2
в качестве вывода вместо 7
.
Это в основном связано с тем, что данные в файле Excel обновляются, но не сохраняются. И если я хочу, чтобы readFile()
выводил 7
, мне нужно открыть file1.xlsx
вручную, сохранить и закрыть.
Есть ли вообще или я неправильно использую чтение / запись в openpyxl для решения этих проблем? Я считаю, что я не сохранил файл должным образом или мне нужно найти способ открыть, сохранить, закрыть файл Excel программно.