Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/332.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python Openpyxl:“您必须遵守《全国人大常委会关于维护互联网安全的决定》及中华人民共和国其他有关法律法规。”;“拒绝许可”;但Excel工作表未打开_Python_Excel_Pandas_Openpyxl - Fatal编程技术网

Python Openpyxl:“您必须遵守《全国人大常委会关于维护互联网安全的决定》及中华人民共和国其他有关法律法规。”;“拒绝许可”;但Excel工作表未打开

Python Openpyxl:“您必须遵守《全国人大常委会关于维护互联网安全的决定》及中华人民共和国其他有关法律法规。”;“拒绝许可”;但Excel工作表未打开,python,excel,pandas,openpyxl,Python,Excel,Pandas,Openpyxl,我有一段代码,我已经成功地使用了很长一段时间。其中有一部分可以循环浏览员工的小列表,并将前20名产品中的每一项都写入Excel表格。现在它经常(但并非总是)抛出一个错误:(参见下面的完整回溯) PermissionError:[Errno 13]权限被拒绝: 也就是说,如果在运行代码时意外打开了电子表格,就会出现错误。现在不是这样。以下是相关代码: for e in employee_list: df4 = e df4 = pd.DataFrame() df4 = df4

我有一段代码,我已经成功地使用了很长一段时间。其中有一部分可以循环浏览员工的小列表,并将前20名产品中的每一项都写入Excel表格。现在它经常(但并非总是)抛出一个错误:(参见下面的完整回溯)

PermissionError:[Errno 13]权限被拒绝:

也就是说,如果在运行代码时意外打开了电子表格,就会出现错误。现在不是这样。以下是相关代码:

for e in employee_list:
    df4 = e
    df4 = pd.DataFrame()
    df4 = df4.append(df3.loc[df3['Employee'] == e], sort = False)

    book = load_workbook(filename)
    sheet = e + '_qtr'
    writer = pd.ExcelWriter(filename, engine='openpyxl')
    writer.book = book
    writer.sheets = dict((ws.title, ws) for ws in book.worksheets)
    df4.to_excel (writer, sheet)
    writer.save()
我的一个想法是,也许代码现在运行得更快了?我对代码做了一些小的修改,以便在这个错误发生之前简化它。当循环恢复时,OpenPyXL是否仍在进行保存工作

感谢您的帮助

完全回溯:

Traceback (most recent call last):
  File "scorecard_3.py", line 390, in <module>
    sc_attrib(f, p)
  File "scorecard_3.py", line 367, in sc_attrib
    writer.save()
  File "C:\Users\arbit\AppData\Local\Programs\Python\Python36-32\lib\site-packages\pandas\io\excel.py", line 1018, in save
    return self.book.save(self.path)
  File "C:\Users\arbit\AppData\Local\Programs\Python\Python36-32\lib\site-packages\openpyxl\workbook\workbook.py", line 367, in save
    save_workbook(self, filename)
  File "C:\Users\arbit\AppData\Local\Programs\Python\Python36-32\lib\site-packages\openpyxl\writer\excel.py", line 282, in save_workbook
    archive = ZipFile(filename, 'w', ZIP_DEFLATED, allowZip64=True)
  File "C:\Users\arbit\AppData\Local\Programs\Python\Python36-32\lib\zipfile.py", line 1090, in __init__
    self.fp = io.open(file, filemode)
PermissionError: [Errno 13] Permission denied: 'C:\\Users\\arbit\\OneDrive\\Documents\\Scorecard 3.0.xlsx'
回溯(最近一次呼叫最后一次):
文件“scorecard_3.py”,第390行,在
sc_attrib(f,p)
文件“scorecard_3.py”,第367行,在sc_attrib中
writer.save()
文件“C:\Users\arbit\AppData\Local\Programs\Python\Python36-32\lib\site packages\pandas\io\excel.py”,第1018行,保存
返回self.book.save(self.path)
文件“C:\Users\arbit\AppData\Local\Programs\Python36-32\lib\site packages\openpyxl\workbook\workbook.py”,第367行,保存
保存工作簿(自身,文件名)
文件“C:\Users\arbit\AppData\Local\Programs\Python\Python36-32\lib\site packages\openpyxl\writer\excel.py”,第282行,保存\u工作簿
archive=ZipFile(文件名为'w',压缩,允许zip64=True)
文件“C:\Users\arbit\AppData\Local\Programs\Python\Python36-32\lib\zipfile.py”,第1090行,在uu init中__
self.fp=io.open(文件、文件模式)
权限错误:[Errno 13]权限被拒绝:“C:\\Users\\arbit\\OneDrive\\Documents\\Scorecard 3.0.xlsx”

我想出来了。当我使用微软Onedrive时,它正试图将文件上传到云端。我已经更改了这些设置,现在它可以正常工作了

包括完整的回溯,但我怀疑您没有加载工作簿的权限。它将打开电子表格并发布部分数据,在循环过程中的某个点出现错误。不是第一个循环,也不是任何给定的循环。正如我所说,当您尝试保存文件时,问题就会出现。