我正在尝试从我的文本文件中拼接我的数据,而不是返回特定的列,它会返回我的所有数据。它可能是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:]
答案 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.]