繁体   English   中英

将文件中的一行拆分为不同的列表

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM