2012-03-19 9 views
3

私はPythonを初めて使い、さまざまな型のデータをcsvファイルの列に書きたいと思っています。csv、Python、異なるデータ型に書き込む

私は2つのリストと1つのndarrayを持っています。私は最初の行が変数名である3つの列としてこれらを持っていたいと思います。

これを行う方法は1行にあるのですか、最初に配列に変換する必要がありますか?

len(all_docs.data) 
Out[34]: 19916 

In [35]: type(all_docs.data) 
Out[35]: list 

In [36]: len(all_docs.target) 
Out[36]: 19916 

In [37]: type(all_docs.target) 
Out[37]: numpy.ndarray 

In [38]: id = range(len(all_docs.target) 
+1

あなたの一般的な目標は何ですか? 3つのオブジェクトの永続性? –

+0

関連項目:[PythonでCSVファイルを読み書きするには?](http://stackoverflow.com/q/41585078/562769) –

答えて

4

あなたはnumpyの配列にすべての上にそれを変換し、savetxtで保存しますが、なぜただ直接それを行うことができませんでしたか?

リストを反復処理するのと同じように、配列全体を反復処理できます。ちょうどzipそれらを一緒に。

with open('output.csv', 'w') as outfile: 
    outfile.write('Col1name, Col2name, Col3name\n') 
    for row in zip(col1, col2, col3): 
     outfile.write('{}, {}, {}\n'.format(a,b,c)) 

または、希望する場合はcsvモジュールを使用できます。 ,のエスケープを心配する必要がある場合は、非常に便利です。

import csv 
with open('output.csv', 'w') as outfile: 
    writer = csv.writer(outfile) 
    outfile.write('Col1name, Col2name, Col3name\n') 
    for row in zip(col1, col2, col3): 
     writer.writerow(row) 
関連する問題