栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Python

python数据导入mysql

Python 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

python数据导入mysql

import os,time,isodate,json,pymysql

def cursor(call,*data):
    conn=pymysql.connect(host='127.0.0.1',user='root',password='123456',db='test',charset='utf8',cursorclass=pymysql.cursors.DictCursor)
    try:
        with conn.cursor() as cursor:
            call(cursor,data)
        conn.commit();
    finally:
        conn.close()


datadir="C:/Users/86135/Documents/test"#数据文件目录
database="test"
datafiles=os.listdir(datadir)

def exec(cursor,data):
    num=len(datafiles)
    for datafile in datafiles:
        print(datafile,num,time.strftime("%Y-%m-%d %H:%M:%S",time.localtime()))
        num-=1
        sp=datafile.split('.')
        if(len(sp)!=2 or sp[1]!='json'):
            print("文件格式错误",datafile);
            continue;
        f=open(datadir+"/"+datafile,'r')
        data=json.loads(f.read())
        f.close()
        timeFieldIndex=[]
        for i in range(len(data["fields"])):
            if(data["fields"][i].get("type")=="datetime"):
                timeFieldIndex.append(i)
        sql="insert into "+database+".`"+sp[0]+"`("+str.join(',',map(lambda x:"`"+x["name"]+"`",data["fields"]))+")values("+str.join(",",map(lambda x:"%s",data["fields"]))+")"
        for row in data["data"]:
            for i in timeFieldIndex:
                if row[i] is not None:
                    row[i]=isodate.parse_datetime(row[i])
            cursor.execute(sql,row)
cursor(exec);

print("数据导入mysql",time.strftime("%Y-%m-%d %H:%M:%S",time.localtime()))

数据格式{"fields":[{"name":"id"}],//表字段
"data":[[1]]//表数据
}

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/990435.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号