2012-08-15 192 views
-1

我已經寫了一個函數,它應該返回一個列號,它對應於我想從csv文件中稍後提取的特定變量。變量名稱由state_aggregate_vars指定。爲什麼我的Python代碼不打印我的列表?

import csv 
import numpy 

def compute_countyStats(state_aggregate, year, state_aggregate_vars, listCounties, county_var, int_obese, int_healthy, int_refuse): : 
    f = open(state_aggregate, 'r') 
    readit = csv.reader(f) 
    headers = readit.next() 
    use_cols = [] 
    for name in state_aggregate_vars: 
     use_cols.append(headers.index(name)) 
    return use_cols 
    county_data = numpy.genfromtxt(f, dtype=float, delimiter=',', names = state_aggregate_vars, filling_values= -1, 
       usecols= use_cols, usemask=False) 
    sorted_array = county_data(numpy.argsort(county_data, axis= headers.index(county_var)) 
    for code in listCounties: 
    temp = [] 
    for entry in sorted_array: 
     if entry[0] == code: 
      temp.append(float(entry[1])) 
     else: 
      continue 
    percent_healthy = numpy.true_divide(temp.count(int_healthy),num_obs) 
    percent_obese = numpy.true_divide(temp.count(int_obese),num_obs) 
    percent_refused = numpy.true_divide(temp.count(int_refuse),num_obs) 
    county_stats[code] = year, code, percent_healthy, percent_obese, percent_refused, 
return county_stats 

接下來,我調用此函數使用下列內容:

state_aggregate = "Aggregate_test90.csv" 
year = 1990 
state_aggregate_vars = ['_BMI90', 'AGE90', 'CTYCODE90', 'IYEAR90', 'SEX90', '_RFOBESE90'] 
listCounties = [31, 43, 163, 32, 167, 97] 
county_var = 'CTYCODE90' 
int_obese = 2 
int_healthy = 1 
int_refuse = 0 

test = compute_countyStats(state_aggregate, year, state_aggregate_vars, listCounties, county_var, int_obese, int_healthy, int_refuse) 

這裏是我的錯誤:

SyntaxError: invalid syntax in line 6: 
for name in state_aggregate_vars: 

可能是什麼回事?

這是我python -V

Python 2.7.3 -- EPD 7.3-2 (32-bit) 
+2

您使用的是古代版本的python嗎?告訴我們'python -V'。 – bukzor 2012-08-15 04:53:11

+1

代碼非常好 – 2012-08-15 04:54:52

+0

語法正確,您使用的是哪個版本的python? – Amyth 2012-08-15 04:56:09

回答

1

有在你的代碼中的一些錯誤:

線4:冒號多

線14:缺少括號

線17 :缺少縮進

第27行:缺少縮進

+0

謝謝,我做了這些修復。 – SVenkatesh 2012-08-15 05:58:50

0

看起來我的Python安裝被破壞了。我重新安裝了它,現在這個功能非常完美。

相關問題