使用这段代码,我可以将一行上的数据分开并将其放入一个列表中,然后将每行分开并从中单独列出。
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]等
答案 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]