从Excel中读取数据并批量写入MySQL数据库(基于pymysql)
一、Excel内容时这样的:
二、最初的代码是这样的:
# -*- coding:utf-8 -*-
import pymysql
from xlrd import open_workbook class DB:
global host,username,password,port,database,config
host = "xx.xx.xx.xxx"
username = "root"
password = "xxxx"
port = 3306
database = "pythondb"
config = {
'host': str(host),
'user': username,
'passwd': password,
'port': int(port),
'db': database
}
def __init__(self):
self.db = None
self.cursor = None def connectDB(self):
try:
self.db = pymysql.connect(**config)
self.cursor = self.db.cursor()
print "Connect DB successfully!"
except:
print "Connect DB failed!" def executeSQL(self,sql):
self.connectDB()
self.cursor.execute(sql)
self.db.commit()
return self.cursor def getAll(self,cursor):
value = cursor.fetchall()
return value def getOne(self,cursor):
value = cursor.fetchone()
return value def closeDB(self):
self.db.close()
print "Database closed!" def get_xls(self,xls_name, sheet_name):
"""
get interface data from xls file
:return:
"""
cls = []
# open xls file
file = open_workbook(xls_name)
# get sheet by name
sheet = file.sheet_by_name(sheet_name)
# get one sheet's rows
nrows = sheet.nrows
for i in range(1,nrows):
cls.append(sheet.row_values(i))
return tuple(cls) if __name__ == "__main__":
mysqlInfo = DB()
content = mysqlInfo.get_xls("DataSource.xls","Sheet1")
for i in range(0,len(content)):
id = content[i][0]
begin_date = str(content[i][1])
end_date = content[i][2]
in_num = content[i][3]
out_num = content[i][4]
all_num = content[i][5]
create_time = content[i][6]
use_time = content[i][7]
scope_date = content[i][8]
sql = "INSERT INTO `day`( ID, BEGIN_DATE, END_DATE, IN_NUM, OUT_NUM, ALL_NUM, CREATE_TIME, USE_TIME, SCOPE_DATE ) VALUES(%s,'%s','%s',%s,%s,%s,'%s',%s,%s)" %(id, begin_date, end_date, in_num, out_num, all_num, create_time, use_time, scope_date)
mysqlInfo.executeSQL(sql)
mysqlInfo.closeDB()
从Excel中读取数据并批量写入MySQL数据库(基于pymysql)的更多相关文章
- 从Excel中读取数据并批量写入MySQL数据库(基于MySQLdb)
一.Excel内容如下,现在需要将Excel中的数据全部写入的MySQL数据库中: 二.连接MySQL的第三方库使用的是“MySQLdb”,代码如下: # -*- coding:utf-8 -*-im ...
- php从memcache读取数据再批量写入mysql的方法
这篇文章主要介绍了php从memcache读取数据再批量写入mysql的方法,可利用memcache缓解服务器读写压力,并实现数据库数据的写入操作,非常具有实用价值,需要的朋友可以参考下. 用 Mem ...
- 用python在excel中读取与生成随机数写入excel中
今天是我第一次发博客,就关于python在excel中的应用作为我的第一篇吧. 具体要求是:在一份已知的excel表格中读取学生的学号与姓名,再将这些数据放到新的excel表中的第一列与第二列,最后再 ...
- 从Excel中读取数据(python-xlrd)
从Excel中读取数据(python-xlrd) 1.导入模块 import xlrd 2.打开Excel文件读取数据 data = xlrd.open_workbook('excelFile.xls ...
- 在实现从excel中读取数据作为接口参数遇到的问题
这个算我自己第一次使用python语言实现 一个功能 一.首先我们先要代码实现如何从excel上读取数据python实现还是比较简单的 1.我使用的是xlrd模块,我们先要安装这个包,这样我们才可以使 ...
- PHP批量替换MySql数据库中的数据内容(替换MySql数据库内容源码)
PHP批量替换MySql数据库内容 UTF-8 1.0版 <?php //声明 //1.本源码开发意图:作者在使用一些CMS建站的时候发现很多CMS把网址写入到数据库了,如果换网址,那么就需要更 ...
- Python读取Excel中的数据并导入到MySQL
""" 功能:将Excel数据导入到MySQL数据库 """ import xlrd import MySQLdb # Open the w ...
- Badboy - 从excel中读取数据
参考: http://leafwf.blog.51cto.com/872759/1119161 http://www.51testing.com/html/00/130600-1367743.html ...
- C#从Excel中读取数据为空
将HDR设置为YES,IMEX设置为1即可. OleDbConnection objConn = new OleDbConnection("Provider=Microsoft.ACE.OL ...
随机推荐
- 【Qt开发】Qt5 中对 C++11 一些新特性的封装
C++11 是现在的 C++ 标准的名称,C++11 为 C++ 语言带来很多新特性. 而 Qt 4.8 是 Qt 首个在其 API 中开始使用一些新的 C++11 特性的版本,我之前写过一篇博文:C ...
- matlab.坑01
1.数据的行列 位置 1.1.c++中二维数组与二维mwarray数据格式之间的相互转换 - weixin_38723958的博客 - CSDN博客.html(https://blog.csdn.ne ...
- eNSP——利用单臂路由实现VLAN间路由
原理: 以太网中,通常会使用VLAN技术隔离二层广播域来减少广播的影响,并增强网络的安全性和可管理性.其缺点是同时也严格地隔离了不同VLAN之间的任何二层流量,使分属于不同VLAN的用户不能直接互相通 ...
- 36.HTTP协议
HTTP简介 HTTP协议是Hyper Text Transfer Protocol(超文本传输协议)的缩写,是用于从万维网(WWW:World Wide Web )服务器传输超文本到本地浏览器的传送 ...
- JS对字符串的操作,截取
substring() //一个参数的时候是从那个参数到字符串结束的位置: substring(start,stop) //substring是对字符串两个索引之间的值进行截取: 要注 ...
- 【3.4】innodb存储引擎
[1]Innodb 与 Myisam 的区别 1.InnoDB支持事物,而MyISAM不支持事物 2.InnoDB支持行级锁,而MyISAM支持表级锁 3.InnoDB支持MVCC, 而MyISAM不 ...
- Go语言学习之main包的讲解
### Go语言学习之main包的讲解 1.Go中main函数不支持任何返回值 2.可以通过os.Exit(0)来返回状态 func main(){ fmt.Println("hellow ...
- Statefulset的拓扑状态
Statefulset: 实例之间有不对等关系,以及实例对外部数据有依赖关系的应用,就被称为“有状态应用”(Stateful Application). StatefulSet 的设计其实非常容易理解 ...
- hdu 1506 最大子矩阵面积
//写动态规划的题目 要把主要问题提炼出来 这里的问题就是求area=(j-k+1)*a[i] 如果找到j k是解决这个题目的关键 这里暴力求肯定是要超时的 这里用dp来优化 #include< ...
- Java装饰者模式(思维导图)
图1 装饰者模式[点击查看图片] 1,一个简单的以人为主体的装饰者模式 被装饰者 public interface Human {//被装饰者 public void wearClothes(); p ...