如何在类

时间:2015-12-01 19:42:50

标签: python python-2.7

我试图在类的init方法中实例化一个csv writer,我想从类方法storeToCSV()中使用它。由于一些奇怪的原因,这不起作用。当我调用self.storeToCSV(['test'])时,没有数据写入文件。这是什么原因以及如何解决这个问题?

class postprocessing:
    def __init__(self,topic):

        try:
           os.remove(topic+'.csv')
        except:
           pass

        csvfile = open(topic+'.csv', 'a')
        self.csvwriter = csv.writer(csvfile, delimiter=';',quotechar='"')
        self.csvwriter.writerow(['id','url1'])

    def storeToCSV(self, arg_a):           
        print self.csvwriter.writerow(arg_a)

2 个答案:

答案 0 :(得分:0)

我认为你需要添加一个

csvfile.close()

写完数据后。

答案 1 :(得分:0)

代码在这里工作。调用
postprocessing('afile').storeToCSV(['1', 'c9.io'])

填写afile.csv
id;url1
1;c9.io

确保在删除编写器对象之前不读取文件,并且文件对象已关闭,因为数据未立即写入磁盘。
并且在写完文件之前不要关闭文件。