作者uranusjr (←这人是超级笨蛋)
看板Python
标题Re: [问题] Print matrix formatting problem
时间Thu Sep 29 23:49:02 2011
一个方法是继承 numpy.matrix
然後 override 它的 __str__ function
当你 print 一个非字串物件时, python 会呼叫这个 function 把物件转成字串
举个简单的例子
>>> class MyList(list):
... def __str__(self):
... return '\t'.join([str(i) for i in self])
...
>>> a = [1, 2, 3]
>>> print(a)
[1, 2, 3]
>>> print(MyList(a))
1 2 3
>>>
要怎麽转给 numpy.matrix, 以及怎麽写成二维使用, 就留给你自己发挥了
当然一般输出 csv 之类的格式都是写到档案, 直接另外写两层回圈来输出也很容易
不过这个方法的优点是, 配合 print 的重导向功能, 可以让写档的程式码变得很漂亮
※ 引述《mark038 (Mark)》之铭言:
: I can't type Chinese in the computer now. Sorry蔊: The following is my output if I print a matrix (I used numpy) from a
: generated m*n matrix.
: But I want to generate/print a tab delimited file for reading/opening excel.
: Could anybody provide a clever solution?
: Thanks!
: [[ 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 1. 0. 0. 0. 0. 0. 0.
: 0. 0. 0. 0. 0. 0. 0. 0.]
: [ 0. 1. 0. 0. 0. 1. 1. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0.
: 0. 0. 0. 0. 0. 0. 0. 1.]
: [ 0. 0. 4. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0.
: 0. 0. 0. 0. 0. 0. 0. 0.]
: [ 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 1. 0.
: 0. 0. 0. 0. 0. 0. 0. 0.]
: [ 1. 0. 0. 0. 0. 0. 0. 1. 0. 1. 0. 0. 1. 0. 1. 0. 0. 1.
: 0. 0. 1. 1. 0. 0. 0. 0.]
: [ 0. 0. 0. 1. 0. 0. 0. 0. 1. 0. 3. 0. 0. 1. 0. 1. 0. 0.
: 1. 0. 0. 0. 1. 0. 0. 0.]
: [ 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0.
: 0. 1. 0. 0. 0. 0. 0. 0.]
: [ 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0.
: 0. 0. 0. 0. 0. 1. 0. 0.]
: [ 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0.
: 0. 0. 0. 0. 0. 0. 1. 0.]
: [ 0. 0. 0. 0. 1. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0.
: 0. 0. 0. 0. 0. 0. 0. 0.]]
--
"问おう、贵方が私のマスターか?"
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 114.32.81.146
1F:推 suzuke:推 09/29 23:57
※ 编辑: uranusjr 来自: 114.32.81.146 (09/30 00:19)
2F:推 mark038:Thanks! 10/01 11:31