1. ホーム
  2. パイソン

[解決済み】Pythonのリストの値で.csvファイルを作成する

2022-04-07 18:37:50

質問

Pythonのリストの値から.csvファイルを作成しようとしています。リストの値を印刷すると、それらはすべてunicode (?) です。

[u'value 1', u'value 2', ...]

リスト内の値を繰り返し処理する場合、すなわち for v in mylist: print v はプレーンテキストに見える。

をつけることができるし , で挟みます。 print ','.join(mylist)

そして、ファイルに出力することができる、つまり

myfile = open(...)
print >>myfile, ','.join(mylist)

しかし、CSVに出力して、リストの値を区切り文字で囲みたいのですが、例えば、以下のようになります。

"value 1", "value 2", ... 

区切り記号を書式に含める簡単な方法が見つかりません。 join ステートメントを使用します。どうしたらいいでしょうか?

どのように解決するのですか?

import csv

with open(..., 'wb') as myfile:
    wr = csv.writer(myfile, quoting=csv.QUOTE_ALL)
    wr.writerow(mylist)

編集:これは python 2.x でしか動作しません。

Python 3.xで動作させるためには、以下のように置き換えます。 wbw ( SOの回答はこちら )

with open(..., 'w', newline='') as myfile:
     wr = csv.writer(myfile, quoting=csv.QUOTE_ALL)
     wr.writerow(mylist)