1

我想将图像处理的数字结果输出到 .xls 文件中的一行,精确地在单元格中,请问有人可以建议使用什么 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的副本,numpy.savetxt用于生成 csv 文件(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 回答