python實現建立資料表並寫入資料

2021-09-25 14:54:12 字數 2201 閱讀 8144

今天主要是總結一下最近使用較多的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=

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')

如有相同需要的可以拿去修改部分欄位就可以直接使用了,上述**很簡單,相關的注釋都在**中了,主要完成的工作就是建立指定的**,將自己的資料寫入該表中。

學習記錄一下!

建立資料表

語法 create table 表名 欄位名稱 字段型別 字段特徵 是否為null,預設值 標識列 主鍵 唯一鍵 外來鍵 check約束 欄位名稱 字段型別 字段特徵 是否為null,預設值 標識列 主鍵 唯一鍵 外來鍵 check約束 建立老師表teacher id name gender age...

建立資料表

class users models.model uphone models.charfield max length 20,verbose name 號碼 upwd models.charfield max length 20,verbose name 密碼 uemail models.email...

建立資料表

一 資料表 1 資料表 或表 是資料庫最重要的組成部分之一,是其他物件的基礎 2 表是乙個二維表,行稱為 記錄 列稱為 字段 二 建立資料表 1 首先開啟資料庫 資料庫要存在 show databases 檢視當前所有的資料庫 use 資料庫名稱 開啟指定資料庫 select databases 顯...