【发布时间】:2020-11-09 08:08:13
【问题描述】:
我正在尝试将数据从现有 Excel 文件“file1”加载到 panda 数据框,对其进行一些修改,然后将数据框导出到 相同的新工作表中工作簿(“file1”)。当“file1”关闭时,我的代码工作正常,但如果我在运行代码的同时在 Excel 中打开文件,我会收到错误:PermissionError: [Errno 13] Permission denied .这里有什么问题? Python 是否无法保存同时在 Excel 中打开的工作簿,或者这里有什么解决方法?
这是我的代码:
import pandas as pd
from openpyxl import load_workbook
#Read the input data to a panda dataframe
df = pd.read_excel(workbook_path, sheet_name = 'input_data')
---Do stuff to the dataframe--
#Access the existing excel-file
workbook = load_workbook(workbook_path)
#Create a writer-object
writer = pd.ExcelWriter(workbook_path, engine = 'openpyxl')
writer.book = workbook
#Create a new sheet called "Results"
df.to_excel(writer,sheet_name = 'Results')
#Save the workbook
writer.save()
writer.close()
【问题讨论】:
-
没有。 Excel 对文件具有排他锁,不允许对其进行修改。这是标准功能,任何曾经处理过共享网络驱动器上文件的人都会证明这一点。 “好的 - 谁打开了 'foo.xls'?”
标签: python excel pandas openpyxl