【问题标题】:Read csv file but it got \ufeff in first column name, How to remove it in Robot Framework读取 csv 文件,但它在第一列名称中得到 \ufeff,如何在 Robot Framework 中删除它
【发布时间】:2019-12-06 13:38:28
【问题描述】:

我使用 CSV UTF-8(逗号分隔)作为文件类型保存了 CSV,因为它支持泰语。

  • 示例数据

示例代码

*** Settings ***
Library           SeleniumLibrary
Library           CSVLibrary

*** Test Cases ***
Test CSV
   @{dict}=    read csv file to associative  ${CURDIR}/../TestData/Data.csv
   Log   ${dict}
   Log to console  &{dict[${2}]}[Empty]${SPACE}&{dict[${2}]}[CustFname]${SPACE}&{dict[${2}]}[CustLname]   
  • 实际结果

找不到机器人 Empty 的列,因为 Robot 在列名 (\ufeffEmpty) 前面输入了 \ufeff,并且它只发生在第一列,有人可以帮我吗?现在我解决了这个问题 不使用第一列。

【问题讨论】:

    标签: csv robotframework


    【解决方案1】:

    这不是您问题的直接答案,但是,这些是我在调试问题时会做的步骤,您可以通过执行下面提到的以下操作来找到问题的根本原因,

    验证是否可以在不使用库的情况下成功读取创建的 CSV 文件,如下代码所示。如果不是这种情况,那么您的 csv 文件包含一些问题,您必须先解决这些问题。

    *** Settings ***
    Library           OperatingSystem
    
    *** Test Cases ***
    Verify UTF-8 FROM CSV
        CREATE CSVFILE WITH UTF8
        READ CSVFILE
    
    *** Keywords ***
    CREATE CSVFILE WITH UTF8
        Create File    C:/csvtest/test.csv    name,userid,firstname,lastname,dob,doj,status    encoding=UTF-8
    
    READ CSVFILE
        ${Test}    Get File    C:/csvtest/test.csv    encoding=UTF-8    encoding_errors=strict
        LOG TO CONSOLE      ${Test}
    

    【讨论】:

      猜你喜欢
      • 2018-06-13
      • 2016-08-06
      • 1970-01-01
      • 2017-12-21
      • 2020-02-03
      • 2021-07-14
      • 2016-02-07
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多