[英]I cannot get split to work, what am I doing wrong?
这是我到目前为止完成的程序代码。 我正在尝试计算一个班级项目的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
字符串是不可变的对象,这意味着您无法就地更改它们。 这意味着,对字符串的任何操作都将返回一个新值。 现在看一下您的代码:
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)
您可以通过以下方法解决此问题:
stripped = line_str.strip()
data = stripped.split(',')
data_list.append(data)
或串联字符串操作:
data = line_str.strip().split(',')
data_list.append(data)
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.