【发布时间】:2014-08-25 12:12:53
【问题描述】:
我有一个 csv 文件“input.csv”,其中包含以下数据。
UID,BID,R
U1,B1,4
U1,B2,3
U2,B1,2
我希望上面看起来像下面的字典;按 UID 分组,作为键,BID 和 R 作为嵌套字典值。
{"U1":{"B1":4, "B2": 3}, "U2":{"B1":2}}
我有以下代码:
new_data_dict = defaultdict(str)
with open("input.csv", 'r') as data_file:
data = csv.DictReader(data_file, delimiter=",")
headers = next(data)
for row in data:
new_data_dict[row["UID"]] += {row["BID"]:int(row["R"])}
上面抛出了一个明显的错误
TypeError: cannot concatenate 'str' and 'dict' objects
有没有办法做到这一点?
【问题讨论】:
标签: python csv dictionary