python实现创建数据表并写入数据

     今天主要是总结一下最近使用较多的MySQL数据库的读写操作,将公共部分抽象出来做成单独的模块,比如我提供了一个数据库写操作的函数,只要明确了数据输入的格式,可以从csv文件、json文件、txt文件、Excel文件进行原始数据文件的读取然后调用写操作函数完成数据的写入操作,能够简化重复的工作。

     具体的Demo实现如下:

#!usr/bin/env python
#encoding:utf-8
from __future__ import division

'''
__Author__:沂水寒城
功能: python创建数据表写入数据 
'''


import os
import sys
import json
import time
import random
import pymysql
import datetime



reload(sys)
sys.setdefaultencoding('utf-8')


#本地数据库
mysql={
       'host':'localhost', 
       'user':'***', 
       'passwd':"***",
       'db':'DB',
       'charset':'utf8'}



def createTableMySQL(tablename='myTable'):
    '''
    创建表 
    '''
    conn=pymysql.connect(**mysql)
    cur=conn.cursor()  
    try:
        drop_sql="drop table if exists %s" % tablename
        cur.execute()
    except Exception,e:
        print 'Drop Exception: ',e
    try:
        create_sql="""CREATE TABLE %s (
                     A VARCHAR(100) NOT NULL,
                     B VARCHAR(100),
                     C VARCHAR(100),
                     D VARCHAR(100),
                     E VARCHAR(100),
                     F VARCHAR(100),
                     G VARCHAR(100)
                     )
                   """ %(tablename)
        cur.execute(create_sql)
        conn.commit()
        cur.close()
        conn.close()
    except Exception,e:
        print 'createTableMySQL Exception: ',e



def write2Table(data_list,tablename='mytable'):
    '''
    写入数据表
    data_list:待写入的数据列表,列表中每个元素都是一条记录形成的列表
    '''
    try: 
        connect=pymysql.connect(**mysql)
        cursor=connect.cursor() 
        TS=datetime.datetime.now().strftime("%Y-%m-%d %H:%M:%S")  #获取当前时间戳
        for O in data_list:
            insert_sql="INSERT INTO %s (A,B,C,D,E,F,G) \
                        VALUES ('%s','%s','%s','%s','%s','%s','%s')" % \
                        (tablename,O[0],O[1],O[2],O[3],O[4],O[5],O[6])
            cursor.execute(insert_sql)
            connect.commit()
            print 'myTable insertOperation Finished!!!'
        cursor.close()
        connect.close()
    except Exception,e:
        print "myTable operation Exception: ",e





if __name__=='__main__':
    createTableMySQL(tablename='myTable')

    #data_list  是自己要写的数据记录
    write2Table(data_list,tablename='myTable')

       如有相同需要的可以拿去修改部分字段就可以直接使用了,上述代码很简单,相关的注释都在代码中了,主要完成的工作就是创建指定的表格,将自己的数据写入该表中。

      学习记录一下!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Together_CZ

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值