[英]Splitting a line from a file into different lists
我的程序应该从用户那里获取输入,并使用名称输入读取文件。 读取的文件被保存到一个名为Portfolio的字典中,从那里开始,我要做的就是将Portfolio中的每一行排序为键和值。
这是我的代码。
portfolio = {}
portfolio = file_read() #Reads the file through a function
if file_empty(portfolio) == True or None: #nevermind this, it works
print "The file was not found."
else:
print "The file has successfully been loaded"
for line in portfolio:
elements = line.strip().split(",") #separate lists by comma
print elements[0] #using this to check
print elements[1] #if it works at all
所有这些操作都是在第一行中打印第一个字母S,并且显然element [1]应该是第二个字母,但索引超出范围,请告诉我可能出了问题。
谢谢。
看起来file_read()
正在将文件读取为字符串。
然后, for line in portfolio:
遍历该字符串中的每个字符 。
然后elements = line.strip().split(",")
将为您提供一个包含一个字符的列表,因此尝试获取elements[1]
超出了列表的范围。
如果您想将文件的全部内容读入一个名为portfolio
的字符串中,则可以使用来遍历字符串中的每一行
for line in porfolio.split('\n'):
...
但是遍历文件中的行的更常用的方法是
with open(filename,'r') as inputfile:
for line in inputfile:
....
可以使用以下代码:
for line in minfil :
line = line.strip()
elements = line.split(",")
portfolio[str(elements[0])] = [(int(elements[1]),float(elements[2]), str(elements[3]))]
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.