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)这样调用即可。