2012-12-02 69 views
0

这是我迄今为止完成的程序的代码。我试图计算一个类项目的NBA球员的效率。当我在包含所有统计信息的逗号分隔文件上运行程序时,不是在每个逗号分割,而是创建统计文件整行的列表条目。我得到一个超出范围错误的索引,或者将每个字符视为索引点而不是单独的字段。我对此很陌生,但它似乎应该为文件中由该列表的元素分隔的每一行创建一个列表,以便列出列表。我希望我已经明白了。我不能分裂工作,我做错了什么?

下面是代码:

def get_data_list (file_name): 
    data_file = open(file_name, "r") 
    data_list = [] 
    for line_str in data_file: 

     # strip end-of-line, split on commas, and append items to list 
     line_str.strip()  
     line_str.split(',') 

     print(line_str) 

     data_list.append(line_str) 
     print(data_list)     






file_name1 = input("File name: ") 
result_list = get_data_list (file_name1) 


print(result_list) 

我不知道如何发布数据文件你看看,并与尝试,但有逗号分隔应该工作数字的任何文件。

如果有方法可以发布数据文件或电子邮件给你,以帮助我,我会很乐意这样做。

Boliver

+0

通过我使用Python 3.3 –

+1

你可能想要的方式为了研究使用csv模块,它将为您处理列拆分。 – monkut

回答

3

字符串是不可变的对象,这意味着你不能改变它们。这意味着,对字符串的任何操作都会返回一个新字符串。现在看看你的代码:

stripped = line_str.strip() 
data = stripped.split(',') 
data_list.append(data) 

或者串联的字符串操作:

line_str.strip()   # returns a string  
line_str.split(',')   # returns a list of strings 
data_list.append(line_str) # appends original 'line_str' (i.e. the entire line) 

您可以通过解决这个

data = line_str.strip().split(',') 
data_list.append(data) 
+0

我得到了拆分工作,现在我收到以下错误信息: –

+0

我没有看到错误信息! –

+0

我现在得到一个列表索引超出范围的错误消息。我已经验证了列表中各个数据字段的索引7到23,这就是我的代码所要求的。我会发布代码进行计算,但它不会正确格式化,我无法发布对我自己的问题的答案。 –

相关问题