如何在文件中转换单独的数据并将每一行转换为列表?

时间:2015-03-01 22:45:20

标签: python list

使用这段代码,我可以将一行上的数据分开并将其放入一个列表中,然后将每行分开并从中单独列出。

p=open('file.txt').readlines()
for line in p:
    line = line.strip('\n')
    s = line.split()
    print(s)

当我运行此代码时,我得到了这个:

['Danielle', 'Jennings', '5', '6', '5']
['Fred', 'Armstrong', '0', '0', '2']

我想为每个列表创建一个变量,例如value1 = ['Danielle','Jennings','5','6','5','5.3','6']但我不确定如何。然后我想使用'zip'函数来连接此列表中的每个相应值。有谁知道如何做到这一点?

更新: 我已将所有文件行转换为一个列表。但是,如果我不想将该行的每个部分添加到列表中,我该怎么做? 例如,我只想将其中一个数字添加到列表中,然后对其进行排序,但我得到了这个。     ['9','1','4','Daniel','Ant','Kent','Riser','Abby','James'] 相反,我想要更像这样的东西:     ['Daniel','Riser','1'] ['Ant','James',9]等

2 个答案:

答案 0 :(得分:1)

The best way probably would be to put them into a dict

p=open('file.txt').readlines()
value_dict = {}
for i,line in enumerate(p):
    line = line.strip('\n')
    s = line.split()
    value_dict["value{:02d}".format(i)] = s
    print(s)

也可以随时创建局部变量,但我会建议不要这样做。我认为将所有东西放在一个地方更好,在这种情况下是一个字典。

答案 1 :(得分:0)

with open('file.txt') as text:
    people = [line.strip().split() for line text]