将文本文件中的数据量拼接到数组中

时间:2018-01-22 16:53:28

标签: python python-3.x

我正在尝试从我的文本文件中拼接我的数据,而不是返回特定的列,它会返回我的所有数据。它可能是syntax error,但我似乎无法谷歌我做错了什么。

例如我有:

x   y
1   2
2   4
3   6

在拼接后我收到了

'1 2\n 2 4\n 3 6\n' 

在我正在存储的变量中而不仅仅是

'1 2 3'

这就是我想要的

我一直在尝试这样做:

data = open('file').read()

x = data[1:][2:] 

1 个答案:

答案 0 :(得分:0)

阅读

x y
1 2
2 4
3 6

data = open('file').read()

导致data成为字符串"x y\n1 2\n 2 4\n 3 6\n"。从该字符串开始,您首先选择除第一个字符(data[1:])之外的所有字符,然后再选择除前两个字符(data[1:][2:])之外的所有字符。这导致前三个字符被省略,

"x y\n1 2\n 2 4\n 3 6\n"

因此预期结果。

为了获得“列”,您首先需要以某种方式定义列。通常,人们会使用像numpy这样的工具来读取这些文件。

import numpy as np
data = np.loadtxt('file', skiprows=1)
print(data)
x = data[:,0]
print(x)

这将打印完整的numpy数组

[[ 1.  2.]
 [ 2.  4.]
 [ 3.  6.]]

然后是它的第一列,

[ 1.  2.  3.]