0

私はそのようなマップオブジェクトxを持っています

list(x)

リストを生成します。私は現在試しています:

def writethis(name, mapObject):
    import csv
    with open(name, 'wb') as f:
        csv.writer(f, delimiter = ',').writerows(list(mapObject))

しかし、生成されたリストが有効なシーケンスではないというエラーが発生するか、別の関数パス writethis をインタープリターでマップ オブジェクトまたはリストにすると、空の CSV ファイルになります。

私はcsvモジュールにあまり慣れていません。どうしたの?

4

1 に答える 1

0

まず、Python 3 では CSV 書き込み用のファイルを開く方法が異なることに注意してください。

with open(name, 'w', newline='') as f:

代わりは。第二にwriterows、シーケンスのシーケンスを期待しており、シーケンスを渡しているだけのようです。書き込む行が 1 行しかない場合は、

def writethis(name, mapObject):
    with open(name, 'w', newline='') as f:
        csv.writer(f, delimiter = ',').writerow(list(mapObject))

動作するはずです。

于 2013-02-15T04:45:26.207 に答える