比较csv文件和文本文件



我是编程新手。我正在尝试读取一个CSV文件,看起来像这样:

GVHN_Brazil_GGXS 0
TTYU_Germany_HLZ, 5

等。(该数字为实际计数)

并将其与如下所示的文本文件进行比较:

GVHN_Brazil_GGXS; 50 100
TTYU_Germany_HLZ; 70;
等。

(这里的数字是两个限制,它们会有不同的动作)

我正在努力寻找"最佳实践"。从CSV文件中读取每个计数,并与文本文件中的每个唯一限制进行比较,并且无法读取两个文件。

编辑:新问题,在pistolpete的帮助下,我得到了我想要的,除了文件中的数字似乎没有变成整数,所以它搞砸了比较过程。

例如,我将所有限制设置为50和100来测试它,当计数为10时,它有效,但如果它是7或8,它触发50限制,当计数为15时,它触发100限制。

就像7变成了70 15变成了150或者诸如此类的

我建议使用csv。带";"文本文件的分隔符。然后,您可以遍历每个文件的行并比较您关心的字段。

import csv

with open("csv_file.csv") as csv_file:
with open("text_file.txt") as text_file:
csv_reader = csv.DictReader(csv_file, fieldnames=("name", "actual_count"))
text_reader = csv.DictReader(text_file, fieldnames=("name", "limit_1", "limit_2"), delimiter=";")
for csv_row, text_row in zip(csv_reader, text_reader):
# example comparison, replace this with whatever comparison logic you care about
if int(csv_row["actual_count"]) < int(text_row["limit_1"]):
do_something()

最新更新