1

画像処理の数値結果を .xls ファイルに 1 行で正確に水平方向のセルに出力したいのですが、どの Python モジュールを使用し、どのコードを追加すればよいかアドバイスをいただけないでしょうか? つまり、配列から数字を並べて、Excel セルに正確に水平に配置する方法は?

Code fragment:
def fouriertransform(self):     #function for FT computation
  for filename in glob.iglob ('*.tif'):
     imgfourier = mahotas.imread (filename) #read the image
     arrayfourier = numpy.array([imgfourier])#make an array 
     # Take the fourier transform of the image.
     F1 = fftpack.fft2(imgfourier)
     # Now shift so that low spatial frequencies are in the center.
     F2 = fftpack.fftshift(F1)
     # the 2D power spectrum is:
     psd2D = np.abs(F2)**2
     print psd2D
     f.write(str(psd2D))#write to file
4

1 に答える 1

0

これはコメントのはずですが、十分な担当者がいません。

他の人が言うこと

これはPython Writing a numpy array to a CSV Fileの複製のようです。これは、csv ファイルを生成するために使用numpy.savetxtします (Excel で読み取ることができます)。

私の意見では、Numpy がおそらく最も簡単な方法です。np.flattenモジュールを使用して、気を紛らわせることができます。その後、各要素をカンマで区切って配列を保存するのと同じくらい簡単です。このようなもの(テスト済み!)はさらに簡単です

import numpy as np

arr = np.ones((3,3))
np.savetxt("test.csv",arr,delimiter=',',newline=',')

改行はコンマとして扱われるため、これは小さなハックであることに注意してください。これにより、「test.csv」は次のようになります。

1,1,1,1,1,1,1,1,1,# そこには 9 個あります、約束します! 3x3

末尾のコンマがあることに注意してください。これをExcelで問題なく開くことができました。

ここに画像の説明を入力

于 2014-05-14T16:59:44.950 に答える