从数组元素中删除特殊字符并将其与另一个数组混合

Remove special characters from array elements and mix it with another array

如果重复出现,我深表歉意,但我对 Robot 框架一窍不通,我需要帮助。我有两个数组,来自数据库的结果:

@{users}=   query   Select * from users
@{fieldNames}=   query  SELECT COLUMN_NAME FROM INFORMATION_SCHEMA.COLUMNS WHERE TABLE_SCHEMA = 'robot_test' AND TABLE_NAME = 'users';

我从中得到的结果是:

@{users}= (1, 'user1', 'pass1', 'admin'), (2, 'user2', 'pass2', 'user')
@{fieldNames} = [ ('id',) | ('username',) | ('password',) | ('role',) ]

我想过滤@(fieldNames)成为

@{fieldNames} = [ 'id','username','password','role']

然后与@(users)混合得到

@{mixedArray}=  (('id',1) , ('username','user1'), ('password','pass1'), ('role','admin')), (('id',2) , ('username','user2'), ('password','pass2'), ('role','user'))

有办法吗?谢谢大家的帮助。

因为数据库库 returns 查询结果是一个元组列表,你可以遍历它们。我所做的唯一清理工作是使用 Combine Lists 去除 fieldNames 列表中的元组。

*** Settings ***
# Library         Dialogs
Library         Collections
Library         DatabaseLibrary
library         pymysql

*** Variables ***
@{database}     pymysql     users    root    df478444    localhost  3306

*** Test Cases ***
Whosebug
    Connect To Database    @{database}
    @{users}=              query   Select * from Users
    @{fieldNames}=         query  SELECT COLUMN_NAME FROM INFORMATION_SCHEMA.COLUMNS WHERE TABLE_SCHEMA = 'users' AND TABLE_NAME = 'Users';
    @{fields list}=        Combine Lists   @{fieldNames}
    @{mixedArray}=         Create List

    :FOR   ${user}    IN    @{users}
    \      ${user row}=      parse user    ${user}    ${fields list}
    \      Append To List    ${mixedArray}    ${user row}
    Log    ${mixedArray}

*** Keywords ***
Parse User
    [Arguments]        ${user}    ${fields}
    @{line}=           Create List
    ${list length}=    Get Length    ${fields}
    :FOR     ${i}    IN RANGE    ${list length}
    \   @{pair}=          Create List
    \   ${f}=             Get From List    ${fields}    ${i}
    \   ${u}=             Get From List    ${user}      ${i}
    \   Append To List    ${pair}    ${f}
    \   Append To List    ${pair}    ${u}
    \   Append To List    ${line}    ${pair}
    Return From Keyword   ${line}