Python Openpyxl在单元格中编写

时间:2015-06-18 15:07:07

标签: python excel openpyxl

我似乎无法在Excel工作表中写任何值。我同时打开两个文件。我想将文件1中的值复制到文件2.它会给出错误

File

"C:\Python34\lib\site-packages\openpyxl\writer\dump_worksheet.py", line 214, in removed_method
    raise NotImplementedError 

只有带有书写部分的行会出错。功能代码如下

def data_input(size):

    from openpyxl import load_workbook

    wb1 = load_workbook('150318 load matching_Storage_v4.xlsm',data_only=True)
    wb1s1 = wb1.get_sheet_by_name('Home load options')

    from openpyxl import Workbook
    wb2 = Workbook('Data',write_only=True)
    wb2s1 = wb2.create_sheet(0)
    wb2s1.title = "Consumption"

    wb2s1.cell(row = 1, column = 1).value = 4 - this line gives the error

    #what i have to write but block yet to test if i can write at all
    '''i = 0
    r = 0
    while i < 8760:
        d = wb2s1.cell(row = r, column = 1)
        d.value = i
        i = i + 0.25
        r += 1'''


    for i in range(4,35040):
        cell_value1 = wb1s1.cell(row = i, column = (12+size)).value
        print(cell_value1)
     #   cell_value1 = wb2s1.cell(row = i-3, column = 1) 
    wb2.save('Data.xlsx')

我在文档中尝试了所有不同的方法,但到目前为止没有任何工作。

请帮忙。

谢谢

1 个答案:

答案 0 :(得分:1)

您正在创建只写工作簿。顾名思义,这是为将数据流传输到工作簿而设计的,因此某些操作(例如查找单元格)不起作用。要添加数据,您应该使用append()方法。如果您确实需要为单个单元格添加格式或注释,则可以在传递给WriteOnlyCell的迭代中添加append()