temp.txt ファイルの例:
File: t091110_065921.SFTC Src: J1903+0925 Nsub: 1 Nch: 1 Npol: 4 Nbin: 1024 RMS: 0.00118753
0 0 0 0.00148099 -0.00143755 0.000931365 -0.00296775
0 0 1 0.000647476 -0.000896698 0.000171287 0.00218597
0 0 2 0.000704697 -0.00052846 -0.000603842 -0.000868739
.
.
等..
ありがとうございました!
これがどのように生成されたかに応じて、次のコードを使用しました。
for i in range(numrows):
epoch_name = y['filename'][i]
os.system('pdv -t {0} > temp.txt '.format(epoch_name))
stokes_line = np.genfromtxt('temp.txt', usecols=3, dtype=[('stokesI','float')], skip_header=1)
stokes_list.append(stokes_line)
stokes_columns = zip(*stokes_list)
そのため、「pdv」コマンドで他のソフトウェアを使用して、プログラムがループするたびに (テキスト ファイルに) 値のグリッドを生成しています。次に、このテキスト ファイルから特定の列を 1 つ取り出して、「stokes_list」に追加します。最後に、列が行になるように配列 (またはそれが何であれ) を転置します。
私はPythonで、次のようなリストのリスト(または任意の配列、用語を本当に理解していません)を持っています:
[((1,)(2,)(3,)),((4,)(5,)(6,)),((7,)(8,)(9,))]
まず、角括弧内の角括弧ではなく、角括弧内に括弧が含まれている理由がわかりません。第二に、数字の後にコンマがあり、数字自体が括弧で囲まれている理由がわかりません。とにかく、これに答えるには、おそらくより多くのコンテキストが必要です。しかし、私の本当の問題は、これを次の形式でファイルに書き込もうとしていることです。
1 2 3
4 5 6
7 8 9
やっています:
with open('final.txt','w') as f:
for row in stokes_columns:
f.write('\t'.join(row)+'\n')
「stokes_columns」は、上部にある配列/リストの名前です。
エラーメッセージが表示されます:
f.write('\t'.join(row)+'\n')
TypeError: sequence item 0: expected string, numpy.void found
誰でもこれで私を助けてもらえますか?