2017-03-28 8 views
2

私は最終的にマージしようとしているいくつかのpythonの列を持っています。今はzip関数を使用していますが、カラムをマージしてCSV形式で出力すると、フォーマットがひどいです(カラムを別々にするのではなく、新しいものを追加するときにzipがカラムを結合します)。次に例を示します。複数の列を行列のpythonにマージする

col1 = [text1, text2, text3, etc] 
col2 = [str1, str2, str3, etc.] 
col3 = [num1, num2, num3, etc.] 

私は彼らがこのように組み合わせたい:

[[text1, str1, num1], 
[text2, str2, num2], 
[text3, str3, num3]] 

そこから私は列がすべて独立しているCSVのようなマトリックスを出力することができるようになります。

私のコード

file_weights = similarity[0] 
file_ranking = zip(filtered_and_cleaned, case_id)[1:] 
file_ranking_2 = zip(file_ranking, file_weights)[1:] 

私は私がやっているが動作しない理由を、私はどのようにするのか分からない理解して出力

[[text1 str1, num1], 
[text2 str2, num2], 
[text3 str3, num3]] 

:今のところはこのようになります修理する。

+0

私は間違っています。しかし、あなたがここで共有したcsvに内容を書き込んだ後の出力が間違っていると思います。のように、期待されるリストの代わりに希望のリストを与えました。 –

答えて

1

zipあなたの列のリストへのポインタのトリックを行う必要があります!

col1 = [text1, text2, text3] 
col2 = [str1, str2, str3] 
col3 = [num1, num2, num3] 
print zip(*[col1,col2,col3]) 

Python 3でzipはイテレータを返します。したがって、あなたの結果のlistは望ましい出力を与えます!

次のように

print list(zip(*[col1,col2,col3])) 

出力形式は何かだろう、です!:

[[text1, str1, num1], 
[text2, str2, num2], 
[text3, str3, num3]] 

はそれがお役に立てば幸いです。

ハッピーコーディング!

+0

これは完璧でした。ありがとうございました! –

+0

解決策があなたの質問に答えたと感じる場合は、将来的に誰もが同様の問題に遭遇するように答えを受け入れ、適切な解決策が手元にあるかもしれません! –

関連する問題