直接ファイルの書き込みがあるかもしれない最も簡単な
In [233]: alist=[[1,2,3,4],[.2,.4,1.2],['a','b','c','d','e']]
In [234]: import itertools
In [235]: list(itertools.zip_longest(*alist))
Out[235]:
[(1, 0.2, 'a'),
(2, 0.4, 'b'),
(3, 1.2, 'c'),
(4, None, 'd'),
(None, None, 'e')]
In [236]:
In [236]: list(itertools.zip_longest(*alist,fillvalue=''))
Out[236]: [(1, 0.2, 'a'), (2, 0.4, 'b'), (3, 1.2, 'c'), (4, '', 'd'), ('', '', 'e')]
今だけ(印刷用file.write
代用)フォーマットされた行の書き込み:あなたのデータは以下のように探しているもの
In [238]: for line in itertools.zip_longest(*alist,fillvalue=''):
...: print('%5s, %5s, %5s'%tuple(line))
...:
1, 0.2, a
2, 0.4, b
3, 1.2, c
4, , d
, , e
を? –
テキストファイルの形式を正確にどのようにしたいですか? CSVのように?そして、列の空のスペースはどのように見えますか? –
カラムをタブで区切り、空白をスキップするだけで、カラムの外側にエントリが表示されないようにする必要があります。たとえば、最初のカラムにエントリがない場合は、 2番目の列は左に移動します。 – maxsch