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. 新引入thinkphp报错“应用目录[./Application/]不可写,目录无法自动生成! 请手动生成项目目录~”

    新引入thinkphp报错“应用目录[./Application/]不可写,目录无法自动生成! 请手动生成项目目录~”, 其主要原因是文件夹的权限问题,手动将项目文件夹权限更改为可读可写就OK,具体操 ...

  2. qrcode.js扫码邀请

    //js引用部分<script src="../qrcode.js" type="text/javascript"></script> ...

  3. 树莓派 - gpio-led platform driver 控制LED

    树莓派3b板上有两个LED, pwr (power) 和 act (activity).是platform_driver gpio-led驱动. 可以通过设备树和gpio-led来额外控制一个LED. ...

  4. CSS3 @font-face的url要添加?#iefix的原因

    转至:https://github.com/CSSLint/csslint/wiki/Bulletproof-font-face When using @font-face to declare mu ...

  5. 主席树模板poj 2104

    资料1:http://blog.csdn.net/regina8023/article/details/41910615 资料2:模板来源:http://www.cnblogs.com/lidaxin ...

  6. npm run build 打包后,如何查看效果

    我们用vue-cli搭建的项目执行npm build后本地打开页面空白,如果才能查看npm run build之后的结果呢 首先我们看一下提示 Tip: built files are meant t ...

  7. 技能CD 效果 shader

    技能CD特效 这个效果主要是利用反正切函数完成.atan2(x,y)的返回值是[-PI,PI],这个支持4个象限的反正切函数.关于圆角计算,在上篇文章中有介绍. 现在,我们来看看反正切函数的效果: 在 ...

  8. Python接口测试之对MySQL的操作(六)

    本文章主要来说python对mysql数据库的基本操作,当然,前提是已经搭建了python环境和搭建了Mysql 数据库的环境,python操作mysql数据库提供了MySQLdb库,下载的地址为: ...

  9. BNUOJ 5997 Fibonacci again and again

    Fibonacci again and again Time Limit: 1000ms Memory Limit: 32768KB This problem will be judged on HD ...

  10. xtu summer individual 6 E - Find Metal Mineral

    Find Metal Mineral Time Limit: 1000ms Memory Limit: 65768KB This problem will be judged on HDU. Orig ...