将数据连续添加到python中的csv文件中

时间:2019-10-12 06:44:22

标签: python mysql csv

嗨,我正在用python开发一个cron作业,每5分钟从mysql查询数据并将其写入csv文件。

代码:

# -*- coding: utf-8 -*-

import mysql.connector
import csv 
import datetime
import schedule

x = datetime.datetime.now()
date = str(x.date() - datetime.timedelta(0))


connection = mysql.connector.connect(host='localhost',database='',user='',
                                     password='',auth_plugin='mysql_native_password')


cursor = connection.cursor()  

def job():
    x = datetime.datetime.now()
    date = str(x.date() - datetime.timedelta(0))
    cursor.execute("SELECT * FROM mydb.Data WHERE date = '%s'" % date)
    results = cursor.fetchall()

    c = csv.writer(open('test'+date+'.csv', 'w'))
    try:
        headers = ['id','p1','p2','p3','p4','p5','deviceType']
        c.writerow(i for i in headers)
        print('added headers')
        for x in results:
            c.writerow(x)
    except:
        print('CSV generation failed')



def cron_job():
    schedule.every(300).seconds.do(job)
    while True:        
        schedule.run_pending()


if __name__=='__main__':
    cron_job()

这每5分钟运行一次cron作业,但是,数据仅是第一次添加到csv文件中。代码正在运行,没有任何异常。为什么我无法在csv中获取最新数据?我应该每次关闭文件或其他内容吗?

0 个答案:

没有答案