如何写入现有的Excel文件(XLS)

时间:2017-01-26 14:17:14

标签: python robotframework

我是新手。我尝试在现有的excel文件中写入数据。当我在机器人框架上运行时,它会显示“找不到带有名称的关键字'找到写入Excel文件”。那么你能帮我修改我的代码或给我建议吗?

import xlwt
from xlutils.copy import copy

class Excel(object):

    def __init__(self):
        print "write to excel file"

    def group(self,lst, n):

         return ([lst[i:i+n] for i in range(0,len(lst),n)])
    def write_to_excel_file(self,filename,content_list):

            # Existing Excel File
            w = copy(filename)
            b = w.get_sheet(0)

            # Create an new Excel file and add a worksheet.
            #workbook = xlwt.Workbook()
            #worksheet = workbook.add_sheet('wb')

            #content_lists=[1,1,'hello',2,1,'brother',3,1,'how are you',4,1,'are you good today']
            t=self.group(content_list,3)
            #print(t)
            for item in t:
                b.write(int(item[0]), int(item[1]), item[2])


            # close work book
                w.save(filename)

1 个答案:

答案 0 :(得分:3)

如果这对您有用,请告诉我

import xlwt
from xlutils.copy import copy
import xlrd
import os.path

class Excel(object):

    def __init__(self):
        print "write to excel file"

    def group(self,lst, size):
        return ([lst[i:i+size] for i  in range(0, len(lst), size)])

    def write_to_excel_file(self,filename,content_list):
        if not os.path.exists(filename):
            workbook = xlwt.Workbook() # Create an new Excel file and add a worksheet.
            worksheet = workbook.add_sheet('wb') #add worksheet
            workbook.save(filename)
        rb = xlrd.open_workbook(filename,formatting_info=True)
        r_sheet = rb.sheet_by_index(0) 
        r = r_sheet.nrows
        wb = copy(rb) 
        sheet = wb.get_sheet(0)
        t=self.group(content_list,3)
        for item in t:
            sheet.write(int(item[0]), int(item[1]), item[2])
        wb.save(filename)

RIDE测试用例

*** Settings ***
Library           Collections
Library           WriteExcel.Excel

*** Variables ***

*** Test Cases ***
Write Excel Test first
    [Tags]
    @{content}    Create List
    Append To List    ${content}    15    1    Test Case 1
    Append To List    ${content}    16    1    Test Case 2
    Append To List    ${content}    17    1    Test Case 3
    Append To List    ${content}    18    1    Test Case 4
    Write To Excel File    test3.xls    ${content}
    log    @${content}

Write Excel Test Second
    [Tags]
    @{content}    Create List
    Append To List    ${content}    25    1    Test Case 11
    Append To List    ${content}    26    1    Test Case 12
    Append To List    ${content}    27    1    Test Case 13
    Append To List    ${content}    28    1    Test Case 14
    Write To Excel File    test3.xls    ${content}
    log    @${content}