当将OrderedDict
封装到dict
中时,会出现OrderedDict
未更新的问题。你知道吗
目的是通过以下形式获得口述:
{name1: OrderedDict( {year1:amount,year2:amount,...}), name2: OrderedDict( {year1:amount,year2:amount,...})}
但是,在初始化第一个temp_ord
之后,它不会进一步更新,因此第一个名称之后的每个名称的年金额对都是相同的。你知道吗
CSV结构以列形式显示:name year number。我不确定这是一个循环错误还是因为dicts的封装。你知道吗
import csv
from collections import OrderedDict
def plot_names(file_name, names):
temp_dict = {}
temp_ord = OrderedDict({})
with open(file_name) as csvfile:
reader = csv.DictReader(csvfile)
for name in names:
for row in reader:
if name == row["name"]:
temp_ord[row["year"]] = row["number"]
temp_dict[name] = temp_ord
return temp_dict
数据格式:
year name gender number /n 1993 Abarna f 1 /n 1993 Abetare f 1 /n 1993 Abir f 1
问题是一个阅读器只能被消费一次(谢谢@jornsharpe)。你知道吗
相关问题 更多 >
编程相关推荐