我正在使用Python 2.7.6。我想将我的对象列表转换为CSV格式。我有一个cdr对象列表,该对象包含一些字符串、整数和日期时间对象。
class cdr():
def __init__(self):
# some init
def __iter__(self):
return iter(self.name, self.my_value,self.my_datetime)
#from another class
import csv
def make_csv(self, cdr_list):
with open(self.file_name, 'wb') as csv_file:
wr = csv.writer(csv_file, delimiter=",")
for cdr in cdr_list:
wr.writerow(cdr)
但是我得到的是一个空的CSV文件。感谢您的帮助。
iter()
函数返回一个可迭代对象。您必须使用.next()
来进行迭代,或者使用list()
函数将其转换为列表,例如wr.writerow(list(cdr))
。 - user6025378__iter__()
应该是你的类的一部分。如果是这样的话,它需要缩进,否则它会被解释为自己的函数。 - user20160