0

我有一个地图对象 x 这样

list(x)

产生一个列表。我目前正在尝试:

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

但是得到一个错误,说生成的列表不是一个有效的序列,或者,如果我有另一个函数在解释器中传递一个映射对象或列表,一个空白的 CSV 文件。

我对 csv 模块不是很熟悉。这是怎么回事?

4

1 回答 1

0

首先,请注意,您在 Python 3 中以不同方式打开 CSV 写入文件。您想要

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))

应该管用。

于 2013-02-15T04:45:26.207 回答