2015-06-18 244 views
0

我似乎无法在Excel表格中写入任何值。我同时打开两个文件。我想将文件1中的值复制到文件2.它给出了错误Python Openpyxl写入单元格

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') 

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

请大家帮忙。

谢谢

+0

我应该使用append方法? – Abdur

回答

1

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

+0

实际上想读取和写入,所以我将删除只写参数。你是否知道如果要进行行列式和列式的变化,那么赋予append函数的参数。从openpyxl网页上的文档不清楚。 – Abdur

+0

是否有用迭代过程将简单浮点值写入单个单元格的方法。 – Abdur