#coding:utf-8

import random
import string
import MySQLdb def gen_charint(filename, width =4, num=5): f = open(filename, 'wb')
charint = string.digits + string.letters
for i in range(num):
verify = [random.choice(charint) for j in range(width)]
verify = ''.join(verify) + '\n'
f.write(verify)
f.close() def store_mysql(filepath): conn = MySQLdb.connect(
host="localhost",
port=3306,
user='root',
passwd='root',
db='test',
charset='utf8'
) cursor = conn.cursor()
# 判断表是否存在
cursor.execute('show tables in test')
tables = cursor.fetchall()
findtables = False
for table in tables:
if 'coupon' in table:
findtables = True
# 下面的sql语句中的符号为反引号
# 由于刚开始设置code的字段长度偏小,报错后,调整这里的长度不起作用,查看数据库并未相应改变,需要手动更改数据库该字段长度
if not findtables:
cursor.execute('''
CREATE TABLE `coupon24`(
`id` INT NOT NULL AUTO_INCREMENT,
`coupon` VARCHAR(66) NOT NULL,
PRIMARY KEY(`id`));
''') f = open(filepath, 'rb')
for line in f.readlines():
code = line.split()
cursor.execute('insert into coupon24 (coupon) VALUES (%s)', code) conn.commit()
cursor.close()
conn.close() if __name__ == '__main__': filename = 'result24.txt'
width = 4
num = 11
gen_charint(filename, width, num)
store_mysql(filename)

注意点:

1、用列表生成式生成随机字数和数字,并通过join连接,并注意加上换行符

2、创建表时,表名和字段名均要用反引号,即TAB键上方的那个按键

生成优惠券,并将优惠券存入Mysql的更多相关文章

  1. 基于scrapy的分布式爬虫抓取新浪微博个人信息和微博内容存入MySQL

    为了学习机器学习深度学习和文本挖掘方面的知识,需要获取一定的数据,新浪微博的大量数据可以作为此次研究历程的对象 一.环境准备   python 2.7  scrapy框架的部署(可以查看上一篇博客的简 ...

  2. 用Python获取沪深两市上市公司股票信息,提取创近10天股价新高的、停牌的、复牌不超过一天或者新发行的股票,并存入mysql数据库

    #该脚本可以提取沪深两市上市公司股票信息,并按以下信息分类:(1)当天股价创近10个交易日新高的股票:(2)停牌的股票:(3)复牌不超过一个交易日或者新发行的股票 #将分类后的股票及其信息(股价新高. ...

  3. 将主机IDS OSSEC日志文件存入MYSQL的方法

    将主机IDS OSSEC日志文件存入MYSQL的方法 http://www.freebuf.com/articles/system/6139.html http://ossec-docs.readth ...

  4. JSON文件存入MySQL数据库

    目标:将不同格式的JSON文件存入MySQL数据库 涉及的点有: 1. java处理JSON对象,直接见源码. 2. java.sql.SQLException: Incorrect string v ...

  5. Mybatis Generator的model生成中文注释,支持oracle和mysql(通过实现CommentGenerator接口的方法来实现)

    自己手动实现的前提,对maven项目有基本的了解,在本地成功搭建了maven环境,可以参考我之前的文章:maven环境搭建 项目里新建表时model,mapper以及mapper.xml基本都是用My ...

  6. 使用sqlalchemy用orm方式写pipeline将scrapy item快速存入 MySQL

    传统的使用scrapy爬下来的数据存入mysql,用的是在pipeline里用pymysql存入数据库, 这种方法需要写sql语句,如果item字段数量非常多的 情况下,编写起来会造成很大的麻烦. 我 ...

  7. python读取日志,存入mysql

    1.从 http://www.almhuette-raith.at/apache-log/access.log 下载 1万条日志记录,保存为一个文件,读取文件并解析日志,从日志中提取ip, time_ ...

  8. tensorflow利用预训练模型进行目标检测(三):将检测结果存入mysql数据库

    mysql版本:5.7 : 数据库:rdshare:表captain_america3_sd用来记录某帧是否被检测.表captain_america3_d用来记录检测到的数据. python模块,包部 ...

  9. web页面的时间传入servlet如何转换为可以存入MySQL的Date类型

    在web页面中当使用如下语句: <input type="date" name="startTime"/> 提交到servlet中 在servlet ...

  10. Python Json分别存入Mysql、MongoDB数据库,使用Xlwings库转成Excel表格

    将电影数据 data.json 数据通过xlwings库转换成excel表格,存入mysql,mongodb数据库中.python基础语法.xlwings库.mysql库.pymongo库.mongo ...

随机推荐

  1. SpringBoot | 读取配置文件信息

    server.port=8081 #修改端口号 server.servlet.context-path= /SpringBoot #修改URL #自定义配置 tz.name = xiaoming tz ...

  2. redis的多路复用io

    redis基于reactor开发了自己的网路事件处理器,被称为文件事件处理器.使用io多路复用来同时监听多个套接字,来响应客户端的连接应答.命令请求.命令恢复.多路复用技术使得redis可以使用单进程 ...

  3. Jmeter安装说明

    本文主要介绍Jmeter工具的安装 一.安装JDK 1.下载jdk,到官网下载jdk,下载jkd1.8即可,地址:http://www.oracle.com/technetwork/java/java ...

  4. 题解报告:poj 2480 Longge's problem(欧拉函数)

    Description Longge is good at mathematics and he likes to think about hard mathematical problems whi ...

  5. Android应用的安全隐患*

    转自: http://www.cnblogs.com/chi0591/p/3864747.html Android应用的安全隐患包括三个方面: 代码安全 数据安全 组件安全 代码安全 代码安全主要是指 ...

  6. CentOS6.5下中文输入法的相关问题

    问题.点击Input Method Preferences没反应. 首先执行 yum install "@Chinese Support" yum install -yibus-t ...

  7. python实战之爬取喜玛拉雅专辑信息

    import urllib.request import json from lxml import etree url='http://www.ximalaya.com/dq/8.ajax' hea ...

  8. nodejs+multiparty 文件上传

    通过表单提交上传文件:     html代码 <form action="/uploadFile" method="post" enctype=" ...

  9. Redis java操作客服端——jedis

    1. Jedis 需要把jedis依赖的jar包添加到工程中.Maven工程中需要把jedis的坐标添加到依赖. 推荐添加到服务层.happygo-content-Service工程中. 1.1. 连 ...

  10. 模拟ssh的远程网络传输

    粘包产生的原因分析: 第一点:客户端向服务端发起命令请求,服务端接受命令请求,并返回对应的信息,如果信息过大,客户端一次接受不了,那么下一次请求依然返回 上一个命令的内容,就出现了粘包的情况. 第二点 ...