2

伝統的に、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→変数3個+スカラー1個の配列に入れたい

4-> A = 4、最初の配列の行数

3-> B = 3、2 番目の配列の行数

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

2 つの変数にロードする B = 3 行の最初の配列 (コマンド loadtxt("", unpack = True) など)

1 2
3 4
5 6

python でこの種のことを行うテクニックはありますか?

どうもありがとうございました。

4

2 に答える 2

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']
于 2012-06-22T12:34:27.203 に答える
3

次のようにPythonでファイルを開くことができます:

f = open("myfile.txt")

これで、すべての行を通過でき、各行でスペースで分割できます。

for line in f.readlines():
    linearray = line.split(' ')
    arraylength = len(linearray)
    print("Array length: "+str(arraylength))

後は君しだい。

于 2012-06-22T12:08:56.960 に答える