私はこのようになりますファイルがあります:np.loadtxt
some text
the grids are
3 x 3
more text
matrix marker 1 1
3 2 4
7 4 2
9 1 1
new matrix 2 4
9 4 1
1 3 4
4 3 1
new matrix 3 3
7 2 1
1 3 4
2 3 2
..ファイルは、続けて同じように表示されるいくつかの3x3の行列とを。 IDは特に重要ではありませんが、各マトリックスは固有のIDを持つテキストで始まります。私はこれらの行列の行列を作りたいと思う。私はそれを行うためにloadtxtを使用することはできますか?
これは私の最高の試みです。このコードの6
は、6から始まり、行列の行数で増分する反復変数に置き換えることができます。私はskiprows
がリストを受け入れると思ったが、明らかに整数だけを受け入れる。
np.loadtxt(fl, skiprows = [x for x in range(nlines) if x not in (np.array([1,2,3])+ 6)])
TypeError Traceback (most recent call last)
<ipython-input-23-7d82fb7ef14a> in <module>()
----> 1 np.loadtxt(fl, skiprows = [x for x in range(nlines) if x not in (np.array([1,2,3])+ 6)])
/usr/local/lib/python2.7/site-packages/numpy/lib/npyio.pyc in loadtxt(fname, dtype, comments, delimiter, converters, skiprows, usecols, unpack, ndmin)
932
933 # Skip the first `skiprows` lines
--> 934 for i in range(skiprows):
935 next(fh)
936
単一の呼び出しは、それを行うことはできません。自分のファイル 'readlines'を使ってファイルを読み込み、数値の単純なブロック(一貫した数の列を持つ行)を' loadtxt'に渡すか、あるいは直接解析することをお勧めします。 9個の数字のブロックは解析が容易でなければなりません。 – hpaulj
@hpauljどのようにして数値のブロックを 'loadtxt'に渡すのですか?あなたの助言は本質的に投稿された試行で何をしようとしています。 – kilojoules
また、これは単純な問題であることに注意してください。私の実際のケースは30x30行列です。 – kilojoules