2017-11-22 7 views
1

私は2つのリストを持っています.1つは単純な値のリストで、もう1つはリストのリストで、各要素は2つの値を持っています。これらのリストを1つの.csvシートに別々に保存し、別のPythonスクリプトを実行しているときにどのようにインポートするのですか?私はこれを試してみた.csvから複数のPythonリストへのインポート/エクスポート?

list_a = [0, 0, 0, 0, 0, 0, 0] 
list_b = [[0,0], [0,0], [0,0], [0,0], [0,0]] 

がここにサンプルの

with open("output.csv", "w", newline="") as a: 
    writer = csv.writer(a) 
    writer.writerows(list_a) 
    writer.writerows(list_b) 

が、その後list_aとlist_b同じ列に格納され、list_b値、代わりに0(であることの、 0)は(、0、 "、"、0、)として格納されます。

writer = csv.writer(a, quoting=csv.QUOTE_NONE) 

をそれがエラーを与えた:

は、だから私は試した

_csv.Error: need to escape, but no escapechar set 

ので、私はやった:

writer = csv.writer(a, quoting=csv.QUOTE_NONE, escapechar='\\') 

しかし、私は0、(のような値を取得し、 \ ,, 0、)?

list_aとlist_bを.csvファイルにエクスポートしてそのままインポートし、同じスクリプトまたは他のスクリプトで使用/変更できる形式が必要です。ここでエクスポート時に私は間違っているのですが、どうやってこのリストをPythonスクリプトのリストとしてインポートできますか?これを達成する最も単純な方法は何ですか?事前に

感謝:)

+0

出力ファイルの表示例を教えてください。 –

+0

@Terrornadoは、あなたがwatsを亡くしました。取引の人の返事をただちに返信します。 –

+0

私は実際には.csvファイルがどのように表示されているか気にしませんが、上記のlist_aとlist_bをインポートしてエクスポートできます。とにかくそれ自体はストレージのためだけに使用されます。そして、はい、@Argus、申し訳ありません、それは深夜だったと私は現在、午前3時頃です。私は間違いなく明日、感謝を見るでしょう! – Terrornado

答えて

0

この例では、新しいリストを作成し、メモリにそれを維持することを避けるために(代わりにジッパーの)izipを使用しています。また、ループの使用を避けるので、コードは簡潔で簡潔です。 < .em>

import csv 
from itertools import izip 

with open('output.csv', 'w') as m: 
    writer = csv.writer(m) 
    writer.writerows(izip(list_a, list_b)) 
+0

Python 3はitertoolsにizipを持っていますか? – Terrornado

+0

python 3でzipを使うことができます。python 2.7でizipと同じですが、python 3にizipはありません。 –

+0

、これは半分の質問に答えますが、これらの値をlist_aとlist_bにインポートするとき別のpythonスクリプトを実行しているとき?ありがとう、btw。 – Terrornado

関連する問題