Python MYSQL - tiny ETL tool - 文件操作和数据库操作

时间:2021-06-07 15:55:02
import os
import MySQLdb
Con= MySQLdb.connect(host='localhost',user='root',passwd='',db='test') #链接数据库
cur=Con.cursor()
os.chdir("E:/etl_folder")   #改变工作路径
for i in os.listdir(os.getcwd()):     #得到工作路径下的文件
if(os.path.isfile(i)):
aa= os.getcwd()+"\\"+i #文件夹操作是\\是\因为转移符的原因
aa=aa.replace("\\","/")  #将\\替换成/
try:
cur.execute('load data local infile "'+aa+'" into table test.cnhub ignore 1 lines(Date,SiloID,Retailer,Vendor,Duration) ')
except e:
log = open("Script/log.txt","a")
log.write(e)
log.close()
else:
os.rename(i,"E:/etl_folder/Archived/Archived_"+i) #将Load过的文件移到archive文件夹里
Con.commit() #提交数据库
cur.close()
Con.close()

然后windows计划任务中设置一下,就是一个daily简易的MYSQL ETL工具啦!!!!!!!!!