所以我有一个名为final
的数组,它被保存为带有标题的文本。数组使用numpy.column_堆栈构建,如下所示:
numpy.column_stack((SampNo, dummy, data, data1))
当我使用
numpy.savetxt(f, final, delimiter=',', fmt='%1.7f')
文本文件以正确的分隔符保存。但是,我需要前两列是字符串而不是浮点数,当我使用时:
numpy.savetxt(f, final, delimiter=',', fmt='%s %s %1.7f %1.7f')
…逗号分隔符不再出现在文件中。
另外,作为旁白,我在两个
%1.7f
选项之后使用%s
8次,因为总共有10列。有更整洁的方法吗? 最佳答案
从np.savetxt
文档字符串:
fmt : str or sequence of strs, optional
A single format (%10.5f), a sequence of formats, or a
multi-format string, e.g. 'Iteration %d -- %10.5f', in which
case `delimiter` is ignored.
如果使用多格式字符串方法,则需要在格式中手动指定分隔符。
您可以将字符串相乘,以避免剪切和粘贴:
In [5]: "%s,%s" + ",%1.7f"*8
Out[5]: '%s,%s,%1.7f,%1.7f,%1.7f,%1.7f,%1.7f,%1.7f,%1.7f,%1.7f'
关于python - 为每列定义fmt时,NumPy的savetxt不会导出定界符,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/36202888/