我是使用python阅读文本文件的新手。我需要读取一个文件,每行包含4个我需要的数据,这里是我的文本文件
1 -10 0 0
2 -10 -10 0
3 0 -10 0
4 10 -10 0
5 10 0 0
6 0 0 0
我的问题是,如果我使用read().splitlines()
,它只会为每一行创建一个向量,但我需要一个仅用于第一列的向量,一个用于第二列,一个用于第三列,还有一个为第四列。 Con有人帮我吗?
答案 0 :(得分:0)
首先,我们将splitlines
提供给我们的字符串列表放入列表列表中。然后我们可以使用zip
来创建那些在这些列表中共享索引的元素的元组。
list(zip(*map(str.split, f.read().splitlines())))
输入内容:
[('1', '2', '3', '4', '5', '6'), ('-10', '-10', '0', '10', '10', '0'),
('0', '-10', '-10', '-10', '0', '0'), ('0', '0', '0', '0', '0', '0')]
答案 1 :(得分:-1)
试试这个。它打开文件以作为文件指针fp
进行读取。它查看每一行,一次删除换行符,将行拆分为空格字符列表,然后将列表中的每个元素转换为整数。然后形成所有整数列表的列表,并将其存储为变量data
。
with open('filename.txt', 'r') as fp:
data = [list(map(int, line.strip().split(' '))) for line in fp]