2017-12-02 7 views
0

リストからcsvファイルを作成しようとしています。ここではサンプルコードがあります:複数の列を作成していないPython csv writerow

import csv 

def funcc(data): 
    with open("sample.csv", "wb") as f: 
     writer = csv.writer(f) 
     writer.writerows(data) 

if __name__ == "__main__": 
    data = [['id', 'name', 'score'], 
      ['1', 'john', '2332'], 
      ['2', 'ned', '1213'], 
      ['3', 'rob', '8343']] 
    funcc(data) 

これは、出力を作成しますが、すべてが1列にあります。私はcsv.writer(f, delimiter=',')csv.writer(f, dialect='excel')を使用してみましたが、多くのSO答えで言及されていますが、何も動作していないようです。

出力は同じまま:all items in single column

は、私が行方不明または右致しておりません何かがあるの?

+0

CSVは、単に「カンマ区切り」を意味します。 Pythonの "ネイティブ"ファイル操作を使用して、 'csv'モジュールなしでこれをすべて簡単に達成できます。 – goodvibration

+0

はい、それは私が 'LibreOfffice'でそれを開く行方不明だったことについてのちょうど単純な細部だったことが判明しました。フォーマットは正しいものがすべて正しいと思うので、意図した出力が見えないので、何かが間違っていると思いました。 – akashbw

+1

Python 2.xを使用している場合、ファイルは '' w ''だけでなく '' wb ''で開くべきです。 –

答えて

1

libreofficeでこのファイルを開くと、インポート設定のダイアログウィンドウが表示されます。セパレータを変更しようとするとうまくいくはずです。

+0

お知らせしてくれてありがとう、その細部を見逃してしまった、私は今もっともっと見ることができます! :D – akashbw

関連する問題