在python中使用csv创建字典时遇到的问题

在python中使用csv创建字典时遇到的问题,python,Python,我有以下格式的CSV 我想将其转换为以下格式的字典 {'Feature': 'Delivery', 'Subfolders': 'Child - 1', 'Child - 2' 'Child - 3' 'Child - 4' 'Child - 5', 'Child - 6'.... till 'Child -13'} 到目前为止,我已经完成了以下代码,但是得到了如下输出: {'Feature': 'Delivery', 'Subfolders': 'Child - 1'}

我有以下格式的CSV

我想将其转换为以下格式的字典

    {'Feature': 'Delivery', 'Subfolders': 'Child - 1', 'Child - 2' 'Child - 3' 'Child - 4' 'Child - 5', 'Child - 6'.... till 'Child -13'}
到目前为止,我已经完成了以下代码,但是得到了如下输出:

    {'Feature': 'Delivery', 'Subfolders': 'Child - 1'}
导入csv
以open('features.csv',mode='r')作为内嵌:
reader=csv.reader(infle)
mydict={rows[0]:reader}中的行的行[1]
打印(mydict)

想法?

这个怎么样?我刚刚添加了一个过滤器和列表切片

with open('test.csv', mode='r') as f:
    reader = csv.reader(f)
    checker = lambda i: bool(i and i.strip()) # Conditions to check whether a string is empty or not
    mydict = {rows[0]: list(filter(checker, rows[1:])) for rows in reader}

    print(mydict)
结果:

{'Feature': ['Delivery'], 'Subfolder': ['Child - 1', 'Child - 2', 'Child - 3', 'Child - 4', 'Child - 5', 'Child - 6', 'Child - 7', 'Child - 8', 'Child - 9', 'Child - 10', 'Child - 11', 'Child - 12', 'Child - 13']}
其他答案:

{'Feature': ['Delivery'], 'Subfolder': ['Child - 1', 'Child - 2', 'Child - 3', 'Child - 4', 'Child - 5', 'Child - 6', 'Child - 7', 'Child - 8', 'Child - 9', 'Child - 10', 'Child - 11', 'Child - 12', 'Child - 13']}
根据您的评论,如果我理解正确,您希望从给定的键获取值

如果有一个或多个键需要处理,只需将它们分配到一个新变量中即可

features = mydict['Feature']
subfolders = mydict['Subfolder']

print(features, subfolders)
# ['Delivery'] ['Child - 1', 'Child - 2', 'Child - 3', 'Child - 4', 'Child - 5', 'Child - 6', 'Child - 7', 'Child - 8', 'Child - 9', 'Child - 10', 'Child - 11', 'Child - 12', 'Child - 13']

这只是另一种方式

import csv
with open('test.csv', mode='r') as infile:
    reader = csv.reader(infile)
    mydict = dict()
    for rows in reader:
        cnt = 0
        for row in rows:
            if cnt == 0:
                mydict[row] = list()
                cnt += 1
            else:
                mydict[rows[0]].append(row)
print(mydict)
结果:

{'this': ['1', '2'], 'That': ['2', 'as']}
结果

{'Feature': ['Delivery'], 'subfolders': ['Child – 1', 'Child – 2', 'Child – 3', 'Child – 4', 'Child – 5', 'Child – 6', 'Child – 7', 'Child – 8']}
然后


我认为键'Subfolders'的值应该是一个列表。它应该是:'Subfolders':['Child-1','Child-2''Child-3''Child-4''Child-5','Child-6'..'Child-13']如果将
行[1]
更改为
”,则代码可以工作。join(行[1:]
。如何将子文件夹和功能的值单独存储在各自的变量中并打印?@ilexcel请检查我的补充答案
features = mydict['Feature']
subfolders = mydict['subfolders']

print(features)
print(subfolders)