【发布时间】:2019-01-30 15:54:04
【问题描述】:
在使用 openpyxl 写入现有 xlsx excel 文件后,我正在尝试读取 xlsx 文件。
我的 Excel 文件 file1.xlsx 在 A1 上具有值 1,A2 上的值 2 和 A3 上的值 A1 + A2,此时为 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)
我的程序将在file1.xlsx 上更新A1 并读取A3 上的数据。例如,调用updateFile(5) 会将A1 更新为5,并可能在A3 上给我7。
不幸的是,在调用updateFile(5) 之后,readFile() 将输出= A1 + A2,而不是7。
这主要是因为 Excel 文件中的数据已更新但未保存。而如果我想让readFile()输出7,我必须手动打开file1.xlsx,保存并关闭它。
无论如何还是我在 openpyxl 上滥用读/写来解决这个问题?我相信我没有正确保存文件,或者我必须想办法以编程方式打开、保存、关闭 Excel 文件。
【问题讨论】:
标签: python xlsx openpyxl read-write