私はpython 2.7.6を使用しています。私はオブジェクトのリストをCSV形式に変換したいと思います。私はcdrオブジェクトのリストを持っています、このオブジェクトは、いくつかの文字列、intとdatatimeオブジェクトが含まれています。データオブジェクトのリストをCSVに変換
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を取得しています。手伝ってくれてありがとう。
https://docs.python.org/3/library/pickle.htmlは、属性を繰り返し処理してからCSVに書き込む必要があります。 –
まずcdrクラスの代わりに簡単なリストを試しましたか?ここでの__iter__関数は間違っています(iter()の場合は誤用)。実際に実行されている場合は、サイレントブランクの代わりに例外が必要です。 – tdihp
'iter()'関数は反復可能オブジェクトを返します。それを繰り返し処理するには '.next()'を使用するか、 'list()'関数を使って 'wr.writerow(list(cdr))'のようにリストに変換する必要があります –