改写sql的python脚本

# encoding: utf-8

import datetime

num = 10000  #数据库中已有的数据量,实时更新

today = datetime.now().strftime("%Y%m%d")
filename = 'stock_dynamicinfor'+today+'.sql'  #数据库备份的最新文件,当天更新数据

with open('D:/XGO/database_backup/%s' % filename, 'r')  as f:
    text = f.readlines()[46:]

with open('D:/XGO/database_backup/update/sql_statement','w') as f:
    for ele in text:
        ele = ele.split('(')
        ele[1]=ele[1].split(',')
        ele[1][0] = str(int(ele[1][0][1:-1])+num)
        ele[1][0] = '\''+ele[1][0]+'\''
        ele[1][1] = ','.join(ele[1][1:])
        ele[1] = ','.join([ele[1][0],ele[1][1]])
        ele = '('.join([ele[0],ele[1]])
        f.writelines(ele)

由于python字符串的是不可变的,因此使用python字符串的split方法和join方法进行操做更改sql语句。除此以外python字符串操做有不少方法,慢慢熟悉。python

关于python文件操做的打开文件的模式。一般文件使用模式为'r','w'或是'a',分别表明读取、写入和追加。还有‘U’模式,表明通用换行符支持。其中'+'表明可读可写,'b'表明二进制模式访问。sql

使用‘r’或‘U’模式必须是文件已经存在。使用'w'模式打开的文件若存在则先状况,而后从新建立,以‘a’模式打开的文件,则将所有写入的数据追加到文件的末尾。数据库

文件对象访问模式:spa

r                         :  以读方式打开code

rU或Ua                 :  以读方式打开,同时提供通用换行符支持对象

w                        : 以写方式打开blog

a                         :  以追加模式打开utf-8

r+,w+,a+             :  以读写模式打开ci

rb                        : 以二进制读模式打开字符串

wb                        : 以二进制写模式打开

ab                        : 以二进制追加模式打开

rb+                       : 以二进制读写模式打开

wb+                      : 以二进制读写模式打开

ab+                       :以二进制读写模式打开

相关文章
相关标签/搜索