首页 > 解决方案 > Python:如何仅打印来自 csv 文件的真实行

问题描述

如上所述。这是我的 csv 文件:

class, time, duration, building

math, 10:55, 2hr, B01

religion, 3:45, 2hr, B02

PDHPDE, 12:05, 2hr, B03

history, 1:00, 2hr, B04

history extension, 11:00, 2hr, B05

我希望结果只是从我使用的这段代码中打印出来的 1 行

import csv

with open('sched.csv') as csvfile:

    sched = csv.reader(csvfile, delimiter=',')

    for row in sched:
        a = row[1]
        print(a == '10:55')

但是,我的输出是:

False

False

True

False

False

我只想将“真实”行打印为“math, 10:55, 2hr, B01”

标签: pythoncsvfilter

解决方案


它应该是:

import csv

with open('sched.csv') as csvfile:

    sched = csv.reader(csvfile, delimiter=',')

    for row in sched:
        a = row[1]
        if (a == '10:55'):
            print(row)

您应该检查它是否为真,然后打印整行,而不是打印 (a == '10:55') 的结果(每行为真或假)。


推荐阅读