2013-02-15 104 views
0

我有一個地圖對象x使得如何將地圖對象寫入csv?

list(x) 

產生一個列表。我目前想:

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

但得到要麼得到一個錯誤說所產生的列表不是有效的序列,或者,如果我有另一個函數通writethis在解釋一個地圖對象或列表,空白CSV文件。

我對csv模塊不是很熟悉。這是怎麼回事?

回答

0

首先,請注意您的CSV在Python 3書寫不同的打開的文件,你想

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

代替。其次,writerows需要一系列序列,看起來你只是將它傳遞給一個序列。如果你只有一行要寫,那麼

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

應該工作。