假设我有一个包含此内容的数据文件:
23 33 45
91 81 414
28 0 4
7 9 14
8 9 17
1 1 3
38 19 84
如何将其导入列表中,以便每个编号都是自己的项目?
答案 0 :(得分:0)
您可以使用numpy loadtxt将数据文件读取到numpy数组
from numpy import loadtxt
a,b,c = loadtxt("filename", usecols=(0,1,2), unpack=True)
输出
a = array([23, 91, 28, 7, 8, 1, 38])
答案 1 :(得分:0)
您也可以使用python内置函数,如open file,split和readlines
with open('file.txt') as f:
for line in f:
a, b, c = map(int, line.split())
另一种方法是
file = open(filename)
file_data = file.readlines()
但是,输出将是一个字符串列表。 也就是说,列表中的每个元素都代表文件中的一行。 如果使用上面的代码,输出将类似于
file_data = ['23 33 45', '91 81 414', '28 0 4 ', '7 9 14', '8 9 17', '1 1 3', '38 19 84']
您可能希望它们转换为float或int。 你可以再次使用numpy的fromstring模块
from numpy import fromstring
data = [fromstring(i, dtype=float, sep=' ') for i in file_data ]
请注意,我在上面的代码中使用了列表推导(比传统的python for循环更快。)