将OrderedDict
封装到dict
时,会出现OrderedDict
未更新的问题。
目标是以形式获得一个dictonary:
{name1: OrderedDict( {year1:amount,year2:amount,...}), name2: OrderedDict( {year1:amount,year2:amount,...})}
然而,在初始化第一个temp_ord
之后,它没有进一步更新,因此第一个之后的每个名称的年 - 金额对都相同。
CSV结构位于列中:名称年份编号。我不确定这是否是一个循环错误,或者是因为封装了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
答案 0 :(得分:0)
问题在于读者只能被消费一次(感谢@jonrsharpe)。
$upload->title = Auth::User()->id;
$current = Carbon::now();
$file = $request->file('file');
$file->move(storage_path(). '/', $file->getClientOriginalName());
$upload->name = $file->getClientOriginalName().$current;
}