2017-01-24 4 views
0

以下のスクリプトを使用して、ファイル(XLS)をExcelに書き込むようにしています。 4行の値がありますが、出力は1行しか表示されません。ループをExcel(XLS)ロボットフレームワークに書き込む方法は?

2番目の質問:既存のファイルは使用できますか?

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

*** Variables *** 

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

この

は、グループ機能に小さな変更が必要とされる

import xlwt 

class Excel(object): 

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

    def group(self,lst, n): 

     return zip(*[lst[i:n] for i in range(n)]) 
    def write_to_excel_file(self,filename,content_list): 

      # 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: 
       worksheet.write(int(item[0]), int(item[1]), item[2]) 


      # close work book 
       workbook.save(filename) 

This is my result

+0

はあなたの 'T'は、ファイルに/繰り返さ書き込まれる正確に一つのタプルが含まれています1 "、2、1、"テスト2 "、3,1、"テスト3 "、4,1、"テスト4 "] ' ' >>> zip(* [mylist [i:3] for i in range (1、1、 'Test 1')] ' だから' group'をどこかで 'n 'で反復する必要があります。 –

+1

ありがとうございます –

答えて

1

私WriteExcel.pyある

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

はい、既存のファイルにデータを追加することが可能です。 `>>>マイリスト= [1、1、「テスト: -

https://stackoverflow.com/a/25144775/6626530以下の例を参照してください。おかげで@Chopraに

import xlrd 
import xlwt 
from xlutils.copy import copy 
def saveWorkSpace(fields): 
    rb = xlrd.open_workbook('accounts.xls',formatting_info=True) 
    r_sheet = rb.sheet_by_index(0) 
    r = r_sheet.nrows 
    wb = copy(rb) 
    sheet = wb.get_sheet(0) 
    sheet.write(r,0,fields['name']) 
    sheet.write(r,1,fields['phone']) 
    sheet.write(r,2,fields['email']) 
    wb.save('accounts.xls') 
    print 'Wrote accounts.xls' 
+1

ありがとうございました 私は既存のファイルにデータを追加しようとします –

関連する問題