我不能分开工作,我做错什么了?

2024-04-24 21:39:59 发布

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

这是我迄今为止完成的程序代码。我正在计算一个班级项目中NBA球员的效率。当我在包含所有统计信息的逗号分隔文件上运行程序时,它不是在每个逗号上拆分,而是在创建stat文件整行的列表项。我得到一个索引超出范围的错误,或者它将每个字符作为索引点而不是单独的字段。我不熟悉这一点,但它似乎应该为文件中由列表元素分隔的每一行创建一个列表,因此我得到了一个列表列表。我希望我已经让别人明白了。在

代码如下:

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)

我不知道如何发布数据文件供您查看和尝试,但任何逗号分隔的数字文件都可以。在

如果有一种方法可以将数据文件或电子邮件发送给您,以便您帮助我,我很乐意这样做。在

玻利瓦尔


Tags: 文件name列表datagetlinelistfile
1条回答
网友
1楼 · 发布于 2024-04-24 21:39:59

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

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)

您可以通过以下方式解决:

^{pr2}$

或串联字符串操作:

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

相关问题 更多 >