from mysql_tool import *
import copy s = '''
INSERT INTO `qqzone`.`myu` (`id`, `uid`, `age`, `gender`, `marriageStatus`, `education`, `consumptionAbility`, `LBS`, `interest1`, `interest2`, `interest3`, `interest4`, `interest5`, `kw1`, `kw2`, `kw3`, `kw4`, `kw5`, `topic1`, `topic2`, `topic3`, `topic4`, `topic5`, `ct`, `appIdAction`, `appIdInstall`, `os`, `carrier`, `house`) VALUES ('', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL);
'''.replace('\n', '') indb_fields_s = '{}{}'.format(s.split('VALUES')[], ' VALUES ').replace('`id`,', '')
fields_l = [i.replace(' ', '').replace('`', '') for i in s.split('(')[].split(')')[].split(',')] val_d = {}
for i in fields_l:
val_d[i] = 'NULL'
del val_d['id'] indb_step, indb_step_s = , ''
f = 'userFeature.data'
with open(f, 'r') as fr:
sql_d_l, indb_step_c = [],
for i in fr:
break
sql_d = copy.deepcopy(val_d)
l = i.replace('\n', '').split('|')
for ii in l:
try:
ix_ = ii.index(' ')
k, v = ii[:ix_], ii[ix_ + :]
# if k == 'appIdInstall':
# continue
sql_d[k] = v
except Exception as e:
print(e) sql_d_l.append(sql_d)
indb_step_c +=
if indb_step_c % indb_step == :
s_l = []
for d in sql_d_l:
s_l.append('("{}")'.format('","'.join([d[k] for k in d])))
indb_step_s = '{}{};'.format(indb_fields_s, ','.join(s_l))
try:
mysql_write(indb_step_s)
indb_step_c =
except Exception as e:
logs_l = [e, indb_step_s]
logs_s = '||'.join(logs_l)
print(logs_s)
sql_d, sql_d_l, indb_step_c = val_d, [], if indb_step_c % indb_step != :
s_l = []
for d in sql_d_l:
s_l.append('("{}")'.format('","'.join([d[k] for k in d])))
indb_step_s = '{}{};'.format(indb_fields_s, ','.join(s_l))
try:
mysql_write(indb_step_s)
indb_step_c =
except Exception as e:
logs_l = [e, indb_step_s]
logs_s = '||'.join(logs_l)
print(logs_s) def myindb(f, indb_fields_s, indb_step=):
with open(f, 'r') as fr:
sql_l, indb_step_c, indb_step_s = [], ,''
for i in fr:
if 'aid' in i:
continue
sql_l.append([ii for ii in i.replace('\n', '').split(',')])
indb_step_c +=
if indb_step_c % indb_step == :
s_l = []
for l in sql_l:
s_l.append('("{}")'.format('","'.join(l)))
indb_step_s = '{}{};'.format(indb_fields_s, ','.join(s_l))
try:
mysql_write(indb_step_s)
sql_l, indb_step_c = [],
except Exception as e:
logs_l = [e, indb_step_s]
logs_s = '||'.join(logs_l)
print(indb_step_s)
print(logs_s)
print(e)
if indb_step_c % indb_step != :
s_l = []
for l in sql_l:
s_l.append('("{}")'.format('","'.join(l)))
indb_step_s = '{}{};'.format(indb_fields_s, ','.join(s_l))
try:
mysql_write(indb_step_s)
except Exception as e:
logs_l = [e, indb_step_s]
logs_s = '||'.join(logs_l)
print(logs_s)
print(e) f = 'train.csv'
indb_step, indb_step_s = , ''
indb_fields_s = 'INSERT INTO `qqzone`.`myt` ( `aid`, `uid`, `label`) VALUES '
#myindb(f, indb_fields_s, indb_step) #f = 'test1.csv'
indb_step, indb_step_s = , ''
indb_fields_s = 'INSERT INTO `qqzone`.`myr` ( `aid`, `uid`) VALUES '
#myindb(f, indb_fields_s, indb_step) f = 'adFeature.csv'
indb_step, indb_step_s = , ''
indb_fields_s = 'INSERT INTO `qqzone`.`myadf` (`aid`, `advertiserId`, `campaignId`, `creativeId`, `creativeSize`,`adCategoryId`, `productId`, `productType`) VALUES '
#myindb(f, indb_fields_s, indb_step)

总的字段数、字段名确定,但是每行数据可能

缺失某些字段

千万数据条 用户特征数据 写入mysql的更多相关文章

  1. 第二篇:智能电网(Smart Grid)中的数据工程与大数据案例分析

    前言 上篇文章中讲到,在智能电网的控制与管理侧中,数据的分析和挖掘.可视化等工作属于核心环节.除此之外,二次侧中需要对数据进行采集,数据共享平台的搭建显然也涉及到数据的管理.那么在智能电网领域中,数据 ...

  2. MySql的InnoDB的三层B+树可以存储两千万左右条数据的计算逻辑

    总结/朱季谦 B+树是一种在非叶子节点存放排序好的索引而在叶子节点存放数据的数据结构,值得注意的是,在叶子节点中,存储的并非只是一行表数据,而是以页为单位存储,一个页可以包含多行表记录.非叶子节点存放 ...

  3. php从memcache读取数据再批量写入mysql的方法

    这篇文章主要介绍了php从memcache读取数据再批量写入mysql的方法,可利用memcache缓解服务器读写压力,并实现数据库数据的写入操作,非常具有实用价值,需要的朋友可以参考下. 用 Mem ...

  4. Python分析44130条用户观影数据,挖掘用户与电影之间的隐藏信息!

    01.前言 很多电影也上映,看电影前很多人都喜欢去 『豆瓣』 看影评,所以我爬取44130条 『豆瓣』 的用户观影数据,分析用户之间的关系,电影之间的联系,以及用户和电影之间的隐藏关系. 02.爬取观 ...

  5. PHP如何通过SQL语句将数据写入MySQL数据库呢?

    1,php和MySQL建立连接关系 2,打开 3,接受页面数据,PHP录入到指定的表中 1.2两步可直接使用一个数据库链接文件即可:conn.php <?phpmysql_connect(&qu ...

  6. 用Nodejs+Express搭建web,nodejs路由和Ajax传数据并返回状态,nodejs+mysql通过ajax获取数据并写入数据库

    小编自学Nodejs,看了好多文章发现都不全,而且好多都是一模一样的 当然了,这只是基础的demo,经供参考,但是相信也会有收获 今天的内容是用Nodejs+Express搭建基本的web,然后呢no ...

  7. [lua, mysql] 将多条记录数据组合成一条sql插入语句(for mysql)

    -- 演示将多条记录数据组合成一条sql插入语句(for mysql) function getTpl0(tname) -- 获取表各个字段 local t = { tpl_pack = {" ...

  8. [NodeJs] 用Nodejs+Express搭建web,nodejs路由和Ajax传数据并返回状态,nodejs+mysql通过ajax获取数据并写入数据库

    小编自学Nodejs,看了好多文章发现都不全,而且好多都是一模一样的 当然了,这只是基础的demo,经供参考,但是相信也会有收获 今天的内容是用Nodejs+Express搭建基本的web,然后呢no ...

  9. Mysql 数据备份与恢复,用户创建,授权

    Mysql 数据备份与恢复,用户创建,授权 1. Mysqldump >outfile.sql 2. Mysql –uxxx –pxxx < backfile.sql 3. Create  ...

随机推荐

  1. python Matplotlib 系列教程(三)——绘制直方图和条形图

    在本章节我们将学习如何绘制条形图和直方图 条形图与直方图的区别:首先,条形图是用条形的长度表示各类别频数的多少,其宽度(表示类别)则是固定的: 直方图是用面积表示各组频数的多少,矩形的高度表示每一组的 ...

  2. CSU1008: Horcrux

    Description A Horcrux is an object in which a Dark wizard or witch has hidden a fragment of his or h ...

  3. Go:struct

    一.使用方式 方式3和方式4返回的是:结构体指针,编译器底层对 p.Name 做了转化 *(p).Name,方便程序员使用. type Person struct { Name string Age ...

  4. I2C详细介绍

    I2C时序 1.开始和停止: 说明: 开始:在SCL的高电平的时候SDA线的从高电平到低电平的跳变定义为开始 停止:在SCL的高电平的时候SDA线的从低电平到高电平的跳变定义为停止 2.有效数据的位置 ...

  5. JQuery Easy UI 简介

    [什么是JQuery Easy UI?] jQuery EasyUI 是一组基于 jQuery 的 UI 插件集合,而 jQuery EasyUI 的目标就是帮助Web 开发者更轻松的打造出功能丰富并 ...

  6. python模糊匹配之fuzzywuzzy

    fuzzywyzzy 是python下一个模糊匹配的模块.首先要安装fuzzywuzzy 示例: from fuzzywuzzy import fuzz from fuzzywuzzy import ...

  7. LA3263 一笔画

    题目大意:依次给定多个点(要求第一个点和最后一个点重叠),把前后两个点相连求最后得到的图形的面的个数 根据欧拉定理: 设平面图的顶点数为V,边数为E,面数为F,则V+F-E = 2 这里的E是指如果一 ...

  8. [luoguP2827] 蚯蚓(堆?队列!)

    传送门 35分做法 用堆来取最大值,暴力更新其余数的值. 65~85分做法 还是用堆来取最大值,其余的数增加可以变成新切开的两个数减少,最后统一加上一个数. #include <queue> ...

  9. [luoguP3390]【模板】矩阵快速幂

    传送门 模板不解释. ——代码 #include <cstdio> #include <cstring> #define LL long long int n; LL k; ; ...

  10. noip模拟赛 单词

    分析:这道题真心难想.最主要的是怎么样不重复. 为了不重复统计,把所有符合条件的单词分成两类,一类是某些单词的前缀,一类是 不是任何单词的前缀.涉及到前缀后缀,维护两个trie树,处理3个数组a,b, ...