通过DictReader迭代

时间:2014-02-05 00:33:25

标签: python loops csv dictionary

我已经使用

读取了一个csv文件
with open('test.csv', newline='') as csv_file:
        #restval = blank columns = - /// restkey = extra columns +
        d = csv.DictReader(csv_file, fieldnames=None, restkey='+', restval='-', delimiter=',', quotechar='"')

我想遍历创建的字典以查找csv中的空白值。 我试过了:

for k, v in d.items()
#Do stuff

但是我得到错误: AttributeError:'DictReader'对象没有属性'items'

是否正确地说 d 中存储的值是字典词典?

来自C#我会将csv存储在一个带有嵌套for循环的多维数组中,以迭代这些值。不幸的是,我还是Python的新手 - 任何帮助+解释都将不胜感激!

3 个答案:

答案 0 :(得分:8)

DictReader()生成一个序列的词典,而不只是一个词典。

for row in d:
    for k, v in row.items():

答案 1 :(得分:1)

你必须首先遍历dict获取每一行,然后遍历每一行中的项目:

for row in d:
    for k, v in row.items():
        # Do stuff

答案 2 :(得分:0)

我们也可以尝试:

with open('test.csv', newline='') as csv_file:
        #restval = blank columns = - /// restkey = extra columns +
        d = csv.DictReader(csv_file, fieldnames=None, restkey='+', restval='-', delimiter=',', quotechar='"')
        data = list(d)

for row in data:
        for key,val in row.items():
                print(key)
                print(val)