python连接数据库处理数据,写入文本

            python连接数据库处理数据,写入文本


freezed_user_record.txt对应的内容

123324    2015-04-15 13:52:00

数据表refund的字段(id,last_update_time)

脚本内容如下: 

#!/usr/bin/python
# -*- encoding:utf-8 -*-
#读取freezed_user_record.txt获取所有冻结用户
#获取拥有退款单的冻结用户的

import sys
import MySQLdb
import traceback
import time
import datetime

freezed_users = {}
freezed_users_that_has_refund = {}

def exportFreezedUserRecord(cursor, id, last_update_time):
    sql = "select count(*) from refund where id = %d and refund_time >= %d and refund_time <= %d"
    date = datetime.datetime.strptime(last_update_time, '%Y-%m-%d %H:%M:%S')
    start_time = date - datetime.timedelta(days=5)
    end_time = date + datetime.timedelta(days=5)
    full_sql = sql % (int(id), int(time.mktime(start_time.timetuple())*1000), int(time.mktime(end_time.timetuple())*1000))
    cursor.execute(full_sql)
    datas = cursor.fetchall()
    for row in datas:
        if row[0] > 0:
            freezed_users_that_has_refund[xiaomi_id] = last_update_time
    
def readFile():
    with open('freezed_user_record.txt', 'r') as file:
        for row in file.readlines():
            print(row)
            row = row.strip()
            arrays = row.split("\t") 
            if(arrays[0] != "xiaomi_id"): 
            	freezed_users[arrays[0]] = arrays[1]

def writeResultToFile():
    with open('freezed_user_that_has_refund_record.txt', 'w') as file:
        file.truncate()
        for id, last_update_time in freezed_users_that_has_refund.items():
            file.write(id + "\t" + last_update_time + "\n")
            file.flush()

if __name__ == "__main__":
  
    db = MySQLdb.connect("ip", "username", "password", "database名", charset='utf8')

    try:
        cursor = db.cursor()
        readFile()
        for id, last_update_time in freezed_users.items():
            exportFreezedUserRecord(cursor, id, last_update_time)
        writeResultToFile()
    except Exception, e:
        traceback.print_exc()
    finally:
        print 'close'
        db.close()

猜你喜欢

转载自blog.csdn.net/xiao__jia__jia/article/details/104374190