簡體   English   中英

如何將數據附加到 Robot Framework 中的 csv 文件?

[英]How to append data to csv file in Robot Framework?

我現在想將數據附加到 Robot Framework 中不為空的 .csv 文件,但我遇到了一些問題。

我從 github 中的“robotframework-CSVLibrary”的“s4int”安裝了 CSVLibrary,它有一個名為“Append To Csv File”的關鍵字。 我可以將數據附加到 .csv 文件中,但格式存在一些問題。

首先,我有一個空的 csv 文件,然后在 Robot Framework 中運行我的腳本。

*** Settings ***
Library           Selenium2Library
Library           CSVLibrary

*** Variables ***

*** Test Cases ***
test
${list}=    Create List    apple    pear
Append To Csv File    ${file_path}    ${list}   

該文件看起來像這樣:

在此處輸入圖像描述

但我期望的是:

在此處輸入圖像描述

如何附加數據以按我的預期顯示? 我的格式錯了嗎? 或者有沒有其他的實現方式? 非常感謝。

看來對於您正在使用的庫, Append to csv file需要一個列表列表。 每個列表代表一行,每個子列表代表行中的列。

由於您希望“apple”和“pear”位於同一行,因此您需要將它們放在一個列表中,然后將該列表放在另一個列表中。

*** Test Cases ***
test
    ${list}=    Create List    apple    pear
    ${data}=    create list    ${list}
    Append To Csv File    ${file_path}    ${data}  

如果您需要先清除文件然后再寫入另一個數據,那么您可以在機器人框架腳本中使用以下關鍵字。

您可以直接使用代碼並創建一個名為CSVLibrary.py的庫並開始使用它。 然后你可以將它調用到你的腳本中。 提供帶有\\斜杠的文件路徑以在機器人框架中工作。 例如: E:\\FOLDER1\\FOLDER2 您可以像提供${list}=Create List apple pear一樣提供數據。

import csv

class CSVLibrary():   

def Clear_file(self, filepath):                    #  Clear_file :it will clear your file. 
 with open(filepath, 'w+') as f:
     obj1=csv.writer(f)

def Append_file(self, filepath, data):             #  Append_file :it will append the data you wanted to in your script. 
  with open(filepath, 'a') as f:
      obj1=csv.writer(f)
      obj1.writerow(data) 

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM