将csv转换为数组的字典列表

2024-09-29 02:20:14 发布

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

我有一个csv文件,它的格式是

id1, atr1, atr2.... atrn
id2, atr2_1,atr2_2....atr2_n
.
.
idn, atrn_1,atrn_2....atrn_n

例如,我需要将其转换为list(dict(array))

'id1': array([atr1, atr2.... atrn]),'id2': array([atr2_1,atr2_2....atr2_n])}]

请帮忙


Tags: 文件csv格式arraydictlistid2id1
2条回答

您可以使用csv模块读取python中的csv文件。它会把每一行作为一个列表来读,这样你就可以达到你的需要

import csv 
res_dict = {}
with open(<file name>) as csv_file:
    csv_reader = csv.reader(csv_file, delimiter=',')
    for row in csv_reader:
        key_ = row[0]
        values_ = row[1:]
        res_dict[key] = value

print(res_dict) 

假设要读取的值中没有有意义的空格,可以执行以下操作:

with open("path//to//file", 'r') as f:
    result = {l[0] : l[1:] for l in (d.replace("\n", "").replace(" ", "").split(",") for d in f)}

这段代码解析每一行,删除行尾和空格,并使用字典理解构建字典

相关问题 更多 >