传统上,要在python中读取一个充满数组的文件,我使用以下语法
x, y, z = loadtxt("myfile.txt", unpack=True)
适用于单阵列文件。
现在,我有一个更复杂的文件:
1.5 3.5 2.5 1.6
4
3
1 2 3 4 5
6 7 8 9 10
11 12 13 14 15
16 17 18 19 20
1 2
3 4
5 6
我想做的是以下事情:
1.5 3.5 2.5 1.6
- >我想把它们放在三个变量+ 1标量
4
- > A = 4,我的第一个数组的行数
3
- > B = 3,我的第二个数组的行数
我想要在5个变量中加载A = 4行的第一个数组(比如命令loadtxt(“”,unpack = True)
1 2 3 4 5
6 7 8 9 10
11 12 13 14 15
16 17 18 19 20
我的第一个数组,B = 3行,我想加载2个变量(比如命令loadtxt(“”,unpack = True)
1 2
3 4
5 6
在python中有没有什么技术可以做这种事情?
非常感谢。
答案 0 :(得分:6)
您正在指定自己的文件格式,这不是很有用。我建议使用现有格式,如JSON:
myfile.txt的:
{
"a" : [
[1, 2, 3, 4, 5],
[6, 7, 8, 9, 10],
[11, 12, 13, 14, 15],
[16, 17, 18, 19, 20]
],
"b" : [
...
]
}
read.py
import json
myfile = open("myfile.txt")
myVars = json.load(myfile)
myfile.close()
myVars['a']
答案 1 :(得分:3)
你可以像这样在python中打开一个文件:
f = open("myfile.txt")
现在您可以浏览所有行,并且可以在每行中将其拆分为空格:
for line in f.readlines():
linearray = line.split(' ')
arraylength = len(linearray)
print("Array length: "+str(arraylength))
其余由你决定。