2017-01-26 53 views
0

我是新手。我嘗試在現有的Excel文件中寫入數據。當我在robotframework上運行時,它顯示「沒有關鍵字與名稱」寫入Excel文件「找到」。那麼你能幫我解決我的代碼或給我一些建議嗎?如何寫入現有的Excel文件(XLS)

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) 
+0

小心你打電話'w.save(文件名)'的循環。 –

+1

突然發生了什麼,昨天你可以稱之爲:) – Shijo

+0

@ Jean-FrançoisFabre謝謝你的建議。 –

回答

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} 
+0

非常感謝。 它工作完美。 –

+0

@ a.arm這將是很好upvote答案:) –

+0

@Shijo我有一個問題,當我用ExcelLibrary。它顯示IOError:[Errno 22]無效模式('w + b')或文件名:u'test3.xls'。你能幫我解決這個問題嗎? *** ***設置 圖書館館藏 圖書館WriteExcel.Excel 圖書館\t ExcelLibrary *** ***變量*** 測試用例*** 寫的Excel測試第一 打開Excel當前目錄\t TEST3 .xls @ {content}創建列表 附加到列表$ {content} 15 1測試用例1 寫入Excel文件test3.xls $ {content} log @ $ {content} –