美文网首页
python的csv读写和定时执行

python的csv读写和定时执行

作者: 西电大侠 | 来源:发表于2020-03-09 20:27 被阅读0次
import pymysql
import time
import csv
import os
import schedule

class CsvOperation():
    """csv操作类"""
    def __init__(self, csvfile, headers, results):
        self.file = csvfile
        self.csvFile = ''
        self.dict_reader = ''
        self.dict_writer = ''
        self.headers = headers
        self.results = results

    def read(self):
        if os.path.exists(self.file):
            with open(self.file, "r") as self.csvFile:
                self.dict_reader = csv.DictReader(self.csvFile)
                for row in self.dict_reader:
                    print(row)
        else:
            print("file not exists")

    def append_dict(self):
        if not os.path.exists(self.file):
            with open(self.file, "a+") as self.csvFile:
                self.dict_writer = csv.DictWriter(self.csvFile, self.headers)
                # 写入表头数据时,需要调用writerheader()方法
                self.dict_writer.writeheader()
                # self.dict_writer.writerows(self.results)#writerows的参数是字典list
                self.dict_writer.writerow(self.results)
        else:
            with open(self.file, "a+") as self.csvFile:
                self.dict_writer = csv.DictWriter(self.csvFile, self.headers)
                # self.dict_writer.writerows(self.results)#writerows的参数是字典list
                self.dict_writer.writerow(self.results)

    def append_raw(self):
        if not os.path.exists(self.file):
            with open(self.file, "a+") as self.csvFile:
                self.dict_writer = csv.writer(self.csvFile)
                self.dict_writer.writerow(self.headers)
                # self.dict_writer.writerows(self.results)#writerows的参数是字典list
                self.dict_writer.writerows(self.results)
        else:
            with open(self.file, "a+") as self.csvFile:
                self.dict_writer = csv.writer(self.csvFile)
                # self.dict_writer.writerows(self.results)#writerows的参数是字典list
                self.dict_writer.writerows(self.results)


def task():
    results =[
        ("普通还款", "受理", "初始",180),
        ("普通还款", "受理", "初始",182),
        ("普通还款", "受理", "初始",183),
        ("普通还款", "受理", "初始",184)
    ]
    #results = {'场景': 1, '状态': 1, 2: 88, 3: 1, 4: 1, 'time': time.strftime("%Y-%m-%d %H:%M:%S", time.localtime())}
    headers = ['场景', '状态', '回调状态', '数量', '时间']
    csvfile = 'order.csv'
    headers2 = ['状态', '数量', '时间']
    csvfile2 = 'item.csv'
    co = CsvOperation(csvfile, headers, results)
    co.append_raw()


if __name__ == "__main__":
    # csvfile = '/Users/yefei/Documents/Project/website/mysite/mysite/sql.csv'
    # co = CsvOperation(csvfile, headers, results)
    # co.read()
    schedule.every(1).minutes.do(task) #每隔一分钟执行一次
    while True:
        schedule.run_pending()

这里除了用到csv读写,还有定时执行的功能,定时执行用到了schedule,方便好用,基本框架就是
schedule.every(1).minutes.do(task) #每隔一分钟执行一次
while True:
schedule.run_pending() #一直执行schedule
这里的task就是需要执行的函数,你只需要把要操作的步骤写到task函数里面就行了,如果说,task有参数,do(task,*args)这样调用即可。

相关文章

网友评论

      本文标题:python的csv读写和定时执行

      本文链接:https://www.haomeiwen.com/subject/dujmdhtx.html