為了導(dǎo)入數(shù)據(jù),可以先對數(shù)據(jù)做些處理,讓其更容易導(dǎo)入數(shù)據(jù)庫
#!/usr/bin/python
#coding=utf-8
import _MySQL,sys,time
#讀入數(shù)據(jù)函數(shù)
def add_data(id,name,created_time):
try:
conn=_mysql.connect('127.0.0.1','root','')
conn.query("set names utf8")
conn.query("insert into mysql.test3(%s,%s,%s) values('%s','%s','%s')"%('object_id','object_name','created',id,name,created_time))
result=conn.use_result()
conn.close()
except _mysql.Error,e:
print ("error %d:%s" % (e.args[0],e.args[1]))
sys.exit(1)
if __name__ =="__main__":
f= open("/opt/testdata/aaa.txt","r")
time1=time.time()
print time.ctime()
#讀出第一行數(shù)據(jù),作為數(shù)據(jù)表的段名
line=f.readline()
content=line.strip().split(",")
conn0=_mysql.connect('127.0.0.1','root','')
print 'connection is builded succesfully'
conn0.query("drop table if exists mysql.test3")
conn0.query("create table mysql.test3(%s varchar(90),%s varchar(90),%s varchar(90))"%(content[0][1:-1],content[1][1:-1],content[2][1:-1]))
conn0.close()
#運用next函數(shù),讓for循環(huán)從第二行開始讀數(shù)據(jù)
next(f)
for line in f:
#做一些處理,讓每一段分開,放置在一個列表中
content=line.strip().split(",")
add_data(id=content[0][1:-1],name=content[1][1:-1],created_time=content[2][1:-1])
f.close()
time2=time.time()
print time.ctime()
#計算導(dǎo)入數(shù)據(jù)的時間
print 'importing time is %f'%(time2-time1)
網(wǎng)頁標(biāo)題:python之TXT數(shù)據(jù)導(dǎo)入數(shù)據(jù)庫
URL地址:
http://weahome.cn/article/jpseps.html