1

次の形式の文字列「--」で区切られた複数のデータ セットを含むデータ ファイルがあるとします。

--
<x0_val> <y0_val>
<x1_val> <y1_val>
<x2_val> <y2_val>
--
<x0_val> <y0_val>
<x1_val> <y1_val>
<x2_val> <y2_val>
...

for外側の配列をループするループを使用して、後ですべてのデータセットを同じ画像にプロットできるように、ファイル全体を配列の配列に読み込むにはどうすればよいでしょうか?

genfromtxt('data.dat', delimiter=("--"))

たくさん与える

Line #1550 (got 1 columns instead of 2)
4

2 に答える 2

1

更新します...

まず、ファイルを複数のファイルに分割します。これらのファイルは、オブジェクトとしてメモリに、または新しいファイルとしてファイルシステムに常駐できます。

--モジュールを使用して文字列を見つけることができますre

次に、上記で投稿したリンクを使用できます。

于 2012-09-11T10:31:39.367 に答える
1

ファイルに負の値がないことが100%確実な場合は、次の手順を試してみてください。

np.genfromtxt(your_file, comments="-")

は、以降のすべての文字を無視するようcomments="-"に強制します。もちろん、負の変数がある場合は、奇妙な結果になります。さらに、結果は単一の配列内のデータセットの塊になりますgenfromtxt-

それ以外の場合、最も安全な方法は、ファイルを反復処理し、一致しない行を--ブロックごとに1つのリストに格納することです。

blocks = []
current = []
for line in your_file:
    if line.startswith("-"):
        blocks.append(np.array(current))
        current = []
    else:
        current += line.split()

空の場合、最初のブロックを削除する必要がある場合があります。

mmapすでに投稿されているベースのソリューションを確認することもできます。

于 2012-09-11T10:31:52.193 に答える