我试图读取格式为这样嵌套一个默认的字典中的默认词典
Number,Letter,Color,
1,a,blue,
1,b,green,
1,c,yellow,
一个CSV文件,并得到了嵌套的字典这样
{
"1":[
"Letter":["a","b","c"],
"Color":["blue","green","yellow"]
]
}
我能得到的数字,其从csv相关的行,但只要我尝试和嵌套,我得到AttributeError:'collections.defaultdict'对象没有属性'追加',我认为我大多是关闭到正确的开始
result = co.defaultdict(lambda: co.defaultdict(list))
subresult = co.defaultdict(list)
with open(os.path.join(inputdir,tablelist[i])) as f:
csv_reader = csv.reader(f)
csv_headings = next(csv_reader)
read = csv.DictReader(f, fieldnames=csv_headings)
for line in read:
subresult = {}
for j in range(1,len(csv_headings)):
#result[line[csv_headings[0]]].append(line[csv_headings[j]])
result[line[csv_headings[0]]].append(subresult[csv_headings[j]].append(line[csv_headings[j]]))
名
的字典对象没有'append'方法,而不是使用'update'方法 – efirvida
那么,什么是**子结果[csv_headings [J] **的类型?你没给我们一个重复的例子。当我尝试这与我的CSV文件,我在J = 1一键搞定的错误,这意味着生成的对象,**无**必须** **追加方法。如果这应该是一本字典,那么你还在吮吸,因为** **追加是不是一本字典的方法。 – Prune
子结果应符合相应的键 –