2013-02-15 109 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)) 

应该工作。