Openpyxl抛出“ Openpyxl没有属性load_workbook”

时间:2019-07-10 06:41:19

标签: python openpyxl

我正在尝试从一个Excel中制作多个Excel文件。这个想法是,主要的excel文件有2个固定工作表sample1和sample2。还有更多页面,如test1,test2,test3等。输出的excel文件应具有sample1,sample2和test1。第二个文件将具有test2而不是test1。我的代码如下:

import pandas as pd
    import numpy as np
    import openpyxl as xl
    from openpyxl import Workbook
    from openpyxl.reader.excel import load_workbook
    from openpyxl import load_workbook

    xl = pd.ExcelFile("C:\\Users\\DebayanDutta\\Desktop\\Sample_Data\\Sample_Data.xlsx")
    sheet_names = xl.sheet_names
    path1 = 'C:\\Users\\DebayanDutta\\Desktop\\Sample_Data\\Sample_Data.xlsx'

    for i in range(0,len(sheet_names)-2) :
        path2 = 'Test_'+str(i+1)+'.xlsx'
        wb = Workbook()
        ws =  wb.active
        ws.title = "Sample"
        wb.save(filename = path2)
        for i in range(0,2) :
            wb1 = load_workbook(filename=path1)
            ws1 = wb1.worksheets[i]
            wb2 = load_workbook(filename=path2)
            ws2 = wb2.create_sheet(ws1.title)
            for row in ws1:
                for cell in row:
                    ws2[cell.coordinate].value = cell.value
            wb2.save(path2)
    for i in range(0,len(sheet_names)-2) :
        path2 = 'Test_'+str(i+1)+'.xlsx'
        wb1 = load_workbook(filename=path1)
        ws1 = wb1.worksheets[i+2]
        wb2 = load_workbook(filename=path2)
        ws2 = wb2.create_sheet(ws1.title)
    for row in ws1:
        for cell in row:
            ws2[cell.coordinate].value = cell.value
    wb2.save(path2)
    for i in range(0,len(sheet_names)-2) :
        workbook=load_workbook('Test_'+str(i+1)+'.xlsx')
        std=workbook.get_sheet_by_name('Sample')
        workbook.remove_sheet(std)
        workbook.save('Test_'+str(i+1)+'.xlsx')

我已经尝试了许多关于Stack Overflow的解决方案。我使用了实际的路径,摆弄了正斜杠和反斜杠。我也尝试过 用“ w”代替“ W”。似乎没有任何作用。

错误是:

 ---------------------------------------------------------------------------
    AttributeError                            Traceback (most recent call 
    last)
    <ipython-input-43-ab2ba22aca8a> in <module>
          6     wb.save(filename = path2)
          7     for i in range(0,2) :
    ----> 8         wb1 = xl.load_workbook(filename=path1)
          9         ws1 = wb1.worksheets[i]
         10         wb2 = xl.load_workbook(filename=path2)

    AttributeError: 'ExcelFile' object has no attribute 'load_workbook'

0 个答案:

没有答案
相关问题