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

2024-05-01 23:04:23 发布

您现在位置:Python中文网/ 问答频道 /正文

使用这段代码,我可以将一行中的数据分开并放入一个列表中,也可以将每行分开并从中生成单独的列表。你知道吗

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]等


Tags: 数据代码txt列表forlineopenfile
2条回答
with open('file.txt') as text:
    people = [line.strip().split() for line text]
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)

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

相关问题 更多 >