如何在不使用任何模块的情况下将 .csv 文件的行打印到 python 字典,同时将标题作为每个值的键?

问题描述 投票:0回答:1

例如,假设我的数据采用以下形式:

| Column A | Column B |
| Cell 1   | Cell 2   |
| Cell 3   | Cell 4   |

我想最终得到一本看起来像这样的字典:

{"Column A":"Cell 1", "Column B":"Cell 2"}
{"Column A":"Cell 3", "Column B":"Cell 4"}
{"Column A":"Cell 5", "Column B":"Cell 6"}

我使用的 csv 文件有几个命名列,我想基本上使用列标题作为键来打印字典,并将其关联的单元格作为值。现在我似乎被困在打印一本字典,比如:


{"Column A":"Cell 1", "Cell 2"}

或者只是能够获取一个值的字典,例如:

{"Column A":"Cell 1"}

我已经在这里查找过类似的问题,但我对 python 仍然很陌生,似乎无法找出这个特定问题的答案。

with open('file_name.csv') as filename:
    linelist = []
    output_dict = {}
    for i in filename:
        linelist.append(i.split(","))
        for line in linelist:
            header = linelist[0]
            value = linelist[1:]
            for j in line:
                output_dict.update({header[0]:line[0]})

此时这就是我所拥有的,但我只是漫无目的地尝试添加和删除其中的一部分,所以现在这甚至不起作用。

python dictionary data-serialization
1个回答
0
投票

此功能已通过使用

csv.DictReader()
为您实现:

import csv

with open("test.csv") as f:
    reader = csv.DictReader(f)
    for i in reader:
        print(i)
© www.soinside.com 2019 - 2024. All rights reserved.