2017-11-22 7 views
0

複数のリストをnumpyで.csvファイルに保存する方法。各リストは列を表します。例えば複数のリストを1つの列で1つのCSVに保存しますか?

A=['A','B','C'] 
B=['1','2','3'] 

CSV出力ファイルは、これを試し、この

A,1 
B,2 
C,3 

ようになっているはずですが、それだけでどのようにそれを行うには、1つの引数を取りますか?

numpy.savetxt('output.csv', A,B , delimiter=',', fmt='%s')

+0

'numpy.hstack'、' vstack'、と 'stack' –

+0

' savetxt'が配列ではなく、リストが保存されます見て。リスト(またはリストのリスト)が与えられれば、配列に変換しようとします。 – hpaulj

+0

@hpauljはい、私は配列に変換してから '{'' '}'要素も追加します。これはスプレッドシート互換ではありません。 – user8244558

答えて

1

あなたは本当にこのためにnumpyのを必要としません。 csv Python moduleで行うのは簡単です。

例えば、

In [13]: A 
Out[13]: ['A', 'B', 'C'] 

In [14]: B 
Out[14]: ['1', '2', '3'] 

In [15]: import csv 

In [16]: with open('AB.csv', 'w') as f: 
    ...:  writer = csv.writer(f) 
    ...:  writer.writerows(zip(A, B)) 
    ...: 

In [17]: !cat AB.csv 
A,1 
B,2 
C,3 

それともcsvモジュールのない無地のPython、:

In [26]: with open('AB.csv', 'w') as f: 
    ...:  f.write(''.join('{},{}\n'.format(a, b) for a, b in zip(A, B))) 
    ...:  

In [27]: !cat AB.csv 
A,1 
B,2 
C,3 

しかし、あなたは本当にnumpy.savetxtを使用する場合:

In [28]: import numpy as np 

In [29]: np.savetxt('AB.csv', list(zip(A, B)), fmt='%s', delimiter=',') 

In [30]: !cat AB.csv 
A,1 
B,2 
C,3 

それらのすべて提案はzip(A, B)を使用してペアのtuのシーケンスを作成しますABからples:

In [34]: list(zip(A, B)) 
Out[34]: [('A', '1'), ('B', '2'), ('C', '3')] 
関連する問題