在Python中从txt文件中提取数字行/列

在Python中从txt文件中提取数字行/列,python,arrays,list,numpy,extraction,Python,Arrays,List,Numpy,Extraction,我对Python相当陌生,遇到了一个小问题,但这似乎是一个非常困难的问题 我有一个txt文件,其中包含以下内容: -2 2.1 -0.365635756 0 2.4 0.347433737 2 2.5 0.263774619 4 3.5 -0.244930974 6 4.2 -0.004564913 我的目标是以某种方式在Python中从文件中提取单独的行/列,以便再次用作列表或数组,对此我是

我对Python相当陌生,遇到了一个小问题,但这似乎是一个非常困难的问题

我有一个txt文件,其中包含以下内容:

-2      2.1     -0.365635756
0       2.4      0.347433737
2       2.5      0.263774619
4       3.5     -0.244930974
6       4.2     -0.004564913
我的目标是以某种方式在Python中从文件中提取单独的行/列,以便再次用作列表或数组,对此我是相当陌生的。例如,我如何使用第一列中的数据创建列表[-2,0,2,4,6]

我目前的工作中有以下代码:

import numpy as np

with open('Numbers.txt', 'r') as f:
    fcontents = f.read()
    print(fcontents)

x = np.array(fcontents)

这篇文章的目的是编写一个程序,使用数组计算项目说明中给出的不同变量。

我没有使用numpy,但是如果你想分成列,你可以这样做

col1 = []
col2 = []
col3 = []

with open('Numbers.txt', 'r') as f:
    for line in f:
        first, second, third = line.split()
        col1.append(first)
        col2.append(second)
        col3.append(third)

print(col1)
print(col2)
print(col3)
哪个输出

['-2', '0', '2', '4', '6']
['2.1', '2.4', '2.5', '3.5', '4.2']
['-0.365635756', '0.347433737', '0.263774619', '-0.244930974', '-0.004564913']
这可能是熊猫的工作:

参考资料:


您可以将数据作为numpy.array导入

然后,检索列/行就像索引/切片numpy.array一样简单

这将导致

[ 0.          2.4         0.34743374]
[ 2.1  2.4  2.5  3.5  4.2]

在文本文件的每一行中使用空格字符作为分隔符可能重复Yay!熊猫规则!但对于这种特殊的文件格式,我会使用
import numpy as np

data = np.genfromtxt('Numbers.txt', unpack=True).T
print(data[1,:])
print(data[:,1])
[ 0.          2.4         0.34743374]
[ 2.1  2.4  2.5  3.5  4.2]