如果我只有四行,为什么python要打印多行?

2024-10-04 07:24:08 发布

您现在位置:Python中文网/ 问答频道 /正文

我希望有人能帮上忙。 我有以下CSV文件:

143560,00210,318,2,2,TRS,
143493,00210,309,6,4,TRS,             
143494,00210,309,6,4,TRS,             
143495,00210,309,10,6,TRS,

我要完成的是加载变量中的每一列,并逐行比较TOTS和UNS列,然后逐行打印剩余的变量。在

例如,在第四列中,评估如下: 如果10不等于6打印143495 00210 309 TRS。我已经导入了CSV并设法将每个列放入一个变量中,但是当我进行求值时,出于某种未知原因,Python在移动到另一行之前多次打印同一行(精确地说是5到6次)。在

有没有一种方法可以在不打印额外行的情况下对其进行评估?在

^{pr2}$

Tags: 文件csv方法情况原因trs设法pr2
2条回答

根据您的输入,这将读取每一行,并将第3列与第4列进行比较,只打印不匹配的行。在

import csv
import sys

with open('python.csv') as csvfile:
    reader = csv.reader(csvfile)
    writer = csv.writer(sys.stdout)
    for line in reader:
        docs,co,mic,tot,un,loc_fr,_ = line
        if int(tot) != int(un):
            writer.writerow([docs,co,mic,loc_fr])

输出:

^{pr2}$

我不完全确定你想做什么,但这可能有助于你回答评论中的问题。在

我已将您的数据格式化为Python.csv版在你的例子中:

143560,00210,318,2,2,'TRS'
143493,00210,309,6,4,'TRS'
143494,00210,309,6,4,'TRS'
143495,00210,309,10,6,'TRS'

然后,你就可以把这个读入熊猫中,并很容易地进行处理

^{pr2}$

您可以了解这个索引是如何工作的here

相关问题 更多 >