使用python拆分文本文件

时间:2017-01-27 19:27:34

标签: python python-2.7 python-3.x text

我是使用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有人帮我吗?

2 个答案:

答案 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]