automation_insert_into.py(自动插入数据)
- conn_mysql(host,port,user,passwd,db)
def conn_mysql(host='xxxxx',port=3306,user='xxx',passwd='xxxx',db='xxx'):
'''
mysql_ip_path:param host:
mysql_port:param port:
mysql_user:param user:
mysql_passwd:param passwd:
mysql_db:param db:
mysql_conn:return:
'''
conn = pymysql.connect(
host=host,
port=port,
user=user,
passwd=passwd,
db=db
)
return conn
- cut_data(file_path,cut_size=5)
def cut_data(file_path,cut_size=5):
'''
需要导入到数据库的文件:param file_path:
将数据分多少块:param cut_size:
分块后数据:return:
'''
all_data = []
for i in range(cut_size):
all_data.append([])
with open(file_path,'r',encoding='utf-8')as f:
lines = f.readlines()
k = 1
for i in lines:
sub = k % cut_size
data = i.replace('\n', '').split(',')
data.insert(0, str(uuid.uuid1()).replace('-', ''))
all_data[sub].append(tuple(data))
return all_data
- insert_cut_data(conn,sql,cut_data)
def insert_cut_data(conn,sql,cut_data):
'''
mysql_conn:param conn:
MySQL_statement:param sql:
分块后的数据:param cut_data:
None:return:
'''
cur = conn.cursor()
for i in cut_data:
cur.executemany(sql,i)
conn.commit()
cur.close()
conn.close()
print('数据导入成功!!!')
4.automation_insert_into.py
#coding:utf-8
import pymysql
import uuid
'''
__author__ == ForterJ
__date__ == 2019/4/3
'''
def conn_mysql(host='*',port='*',user='*',passwd='*',db='*'):
'''
mysql_ip_path:param host:
mysql_port:param port:
mysql_user:param user:
mysql_passwd:param passwd:
mysql_db:param db:
mysql_conn:return:
'''
conn = pymysql.connect(
host=host,
port=port,
user=user,
passwd=passwd,
db=db
)
return conn
def cut_data(file_path,cut_size=5):
'''
需要导入到数据库的文件:param file_path:
将数据分多少块:param cut_size:
分块后数据:return:
'''
all_data = []
for i in range(cut_size):
all_data.append([])
with open(file_path,'r',encoding='utf-8')as f:
lines = f.readlines()
k = 1
for i in lines:
sub = k % cut_size
data = i.replace('\n', '').split(',')
data.insert(0, str(uuid.uuid1()).replace('-', ''))
all_data[sub].append(tuple(data))
return all_data
def insert_cut_data(conn,sql,cut_data):
'''
mysql_conn:param conn:
MySQL_statement:param sql:
分块后的数据:param cut_data:
None:return:
'''
cur = conn.cursor()
for i in cut_data:
cur.executemany(sql,i)
conn.commit()
cur.close()
conn.close()
print('数据导入成功!!!')
本文介绍了一个使用 Python 实现的数据自动化入库脚本。该脚本能够连接 MySQL 数据库,并通过读取指定文件中的数据,将其分割成多个部分后批量插入到数据库中。此过程包括建立数据库连接、文件读取、数据分割及批量插入操作。
959

被折叠的 条评论
为什么被折叠?



