csv DictReader只打印出obj

chy5wohz  于 2023-05-20  发布在  其他
关注(0)|答案(1)|浏览(209)

由于某些原因,下面的代码只打印出<csv.DictReader object at 0x7f2ee79531c0>。这是Python官方网站上的声明,但由于某种原因,它在这里不起作用,data = csv.DictReader(file)和data = csv.DictReader(file, delimiter=','都不起作用。文件data.csv和代码的结构如下。错误在哪里?
data.csv的结构:

col1, col2, col3
val1, val2, val3

代码:

file_path = r'data.csv'
    with open(file_path) as file:
        data = csv.DictReader(file)
    print(data)
f0brbegy

f0brbegy1#

在我们在文档中找到的示例中,他们使用 for-loop 来迭代csv.DictReader对象(* 参见此处 *)。因此,您需要执行相同的操作,并且可能还需要启用skipinitialspace,以便忽略分隔符(,)后面的空格。

file_path = r'data.csv'

with open(file_path) as file:
    data = csv.DictReader(file, skipinitialspace=True)
    for row in data:
        print(row)
        
    #another variant
    # print(*data)

输出:

{'col1': 'val1', 'col2': 'val2', 'col3': 'val3'}
{'col1': 'val4', 'col2': 'val5', 'col3': 'val6'} # <-- in case you have more rows
{'col1': 'val5', 'col2': 'val6', 'col3': 'val7'} # <-- in case you have more rows
...

相关问题