Python函数无终止

2024-10-01 13:28:12 发布

您现在位置:Python中文网/ 问答频道 /正文

我有一个csv文件,名为ctyear.csv(county,state,year)元组。对于每个元组,我需要按年份、县和州列出的快餐店和杂货店的数量。这些信息保存在按年份命名的人口普查数据文件中(因此cbp96co.csv'指1996年的数据),格式如下:

state, year, county, industry_code, number_of_establishments
'1', '1996', '55030', '30', '20'
'1', '1996', '55404', '31', '13' 
'14', '1996' , '23', '5411', '24'

快餐和食品杂货的行业代码——我感兴趣的行业——每年都不同。helper函数whichcode()(未包含在下面的代码中)返回与给定年份相关的行业代码。在

给定一年,打开文件句柄rawffrawgrocfferrors、和{},下面的函数查找ctyear中每个(县、州、年)元组的杂货店和快餐店的数量(由该年的适当行业代码给出),并将其写入上述CSV文件句柄。在

这个函数打印正确的结果;从这个意义上说,它起作用了。它提取正确的数据。然而,它不会结束。当我调用它时,即使在打印最后一行之后,函数也不会终止。在终端上一年的功能中,当光标在下一年闪烁时,终端似乎不停地闪烁。会出什么问题?在

^{pr2}$

我使用以下代码行实现此函数:

g = ['num_groc', 'fipstate', 'fipscty', 'codename', 'code', 'year']
ff = ['num_ff', 'fipstate', 'fipscty', 'codename', 'code', 'year']
rawff = csv.DictWriter(open('raw_ff' + str(year) + '.csv', 'w'), fieldnames = ff)
rawgroc = csv.DictWriter(open('raw_groc' + str(year) + '.csv', 'w'), fieldnames = g) 
fferrors = csv.DictWriter(open('fferrors' + str(year) + '.csv', 'w'), fieldnames = ['fipstate', 'fipscty', 'year', 'ffcode'])
grocerrors = csv.DictWriter(open('grocerrors' + str(year) + '.csv', 'w'), fieldnames = ['fipstate', 'fipscty', 'year', 'grocode'])
grocerrors.writerow(dict(zip(['fipstate', 'fipscty', 'year', 'grocode'], ['fipstate', 'fipscty', 'year', 'grocode'])))
rawff.writerow(dict(zip(ff,ff)))
rawgroc.writerow(dict(zip(g,g)))
fferrors.writerow(dict(zip(['fipstate', 'fipscty', 'year', 'ffcode'],['fipstate', 'fipscty', 'year', 'ffcode'])))

years = ['96', '97', '98', '99', '00', '01', '02', '03', '04', '05']
for y in years: 
    l = extractCBPdata(y)           

Tags: csv函数代码openyeardictff行业