gpt4 book ai didi

python - 如何通过Robot框架比较两个psv文件;是否可以?

转载 作者:行者123 更新时间:2023-11-30 23:21:00 25 4
gpt4 key购买 nike

我有两个 psv(管道分隔)文件,我需要按列比较数据。

如何比较这两个文件,是否可以通过Robot比较两个psv文件?

最佳答案

机器人框架没有内置任何专门用于 psv 文件的内容。但是,假设它们是文本文件,您可以在 python 中编写一个关键字来比较这两个文件。 Python有一个csv module假设您的数据格式良好,这使得解析此类文件变得容易。

例如,创建一个名为 PsvLibrary.py 的文件,其中包含以下内容。请注意:这不是生产质量的代码。它假设数据格式良好,并且每个文件具有完全相同的行数,并且行数并不庞大。重点是展示总体思路,而不是提供一个功能齐全的库:

import csv

class PsvLibrary(object):
def compare_columns(self, column_number, filea, fileb):
with open(filea, "rb") as f:
reader = csv.reader(f, delimiter="|")
filea_data = [line for line in reader]

with open(fileb, "rb") as f:
reader = csv.reader(f, delimiter="|")
fileb_data = [line for line in reader]

# for the given column, make sure the data in file a
# matches the data in file b
c = int(column_number)
for n, (row_a, row_b) in enumerate(zip(filea_data, fileb_data)):
if row_a[c] != row_b[c]:
raise Exception("line %d: '%s' != '%s'" % (n+1, row_a[c], row_b[c]))

然后您可以在测试用例中使用该库,如下所示:

*** Settings ***
| Library | PsvLibrary

*** Test Cases ***
| Example of comparing columns in pipe-separated files
| | compare columns | 1 | file1.psv | file2.psv

为了进行测试,请使用以下数据创建一个名为 file1.psv 的文件:

apple|red
orange|orange
grape|green

使用以下数据创建名为 file2.psv 的第二个文件。请注意,第二列中的最后一行有所不同:

apple|red
orange|orange
grape|purple

如果您运行上述测试,您应该会看到以下输出:

==============================================================================
Example
==============================================================================
Example of reading a pipe-separated file | FAIL |
line 3: 'green' != 'purple'

关于python - 如何通过Robot框架比较两个psv文件;是否可以?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25136912/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com