pandas数据保存至Mysql数据库 

import pandas as pd
from sqlalchemy import create_engine
host = '127.0.0.1'
port = 3306
db = 'test'
user = 'root'
password = '********'
engine = create_engine(str(r'mysql mysqldb://%s:' '%s' '@%s/%s') % (user, password,
host, db))
try:
df = pd.DataFrame([[1,'x'],[2,'y']],columns=list('ab'))
df.to_sql('test1',con=engine,if_exists='replace',index=False)
except Exception as e:
print(e)

to_sql参数

参数:
name : string

SQL表的名称。

con : sqlalchemy.engine.Engine或sqlite3.Connection

使用SQLAlchemy可以使用该库支持的任何数据库。为sqlite3.Connection对象提供了旧版支持。

schema : string,optional

指定模式(如果数据库flavor支持此模式)。如果为None,请使用默认架构。

if_exists : {'fail','replace','append'},默认'fail'

如果表已存在,如何表现。

  • 失败:引发ValueError。
  • replace:在插入新值之前删除表。
  • append:将新值插入现有表。
index : bool,默认为True

将DataFrame索引写为列。使用index_label作为表中的列名。

index_label : 字符串或序列,默认为None

索引列的列标签。如果给出None(默认值)且 index为True,则使用索引名称。如果DataFrame使用MultiIndex,则应该给出一个序列。

chunksize : int,可选

行将一次批量写入此大小。默认情况下,所有行都将立即写入。

dtype : dict,可选

指定列的数据类型。键应该是列名,值应该是SQLAlchemy类型或sqlite3传统模式的字符串。

方法 : {无,'多',可调用},默认无

控制使用的SQL插入子句:

  • 无:使用标准SQL INSERT子句(每行一个)。
  • 'multi':在单个INSERT子句中传递多个值。
  • 可以签名。(pd_table, conn, keys, data_iter)

可以在插入方法部分中找到详细信息和示例可调用实现。

版本0.24.0中的新功能。

举:
ValueError异常

当表已经存在且if_exists为'fail'时(默认值)。

参考链接:http://pandas.pydata.org/pandas-docs/stable/reference/api/pandas.DataFrame.to_sql.html

应用场景

1建立tcp一次长连接,发送数据端:每隔5s发送一次json数据,接受数据端:接收数据,进行数据处理,存储数据

server

import socket
import pandas as pd
from sqlalchemy import create_engine sk = socket.socket() sk.bind(('127.0.0.1',8000)) sk.listen(2) con,addr = sk.accept()
# print(addr,con)
engine = create_engine('mysql+pymysql://root:@127.0.0.1:3306/db1')
while True:
msg = con.recv(8048).decode() df = pd.read_json(msg,dtype={'code':'str'})
# 删除parentId列
df.drop(['parentId'],axis=1,inplace=True)
# 修改id为cid
df1 = df.rename(columns={'id':'cid'})
# print(df1)
try:
# df = pd.DataFrame([[1,'x'],[2,'y']],columns=list('ab'))
df1.to_sql('test1',con=engine,if_exists='append',index=False)
except Exception as e:
print(e)

client

import socket
import time
import re
import requests
import json
import pandas as pd sk = socket.socket()
sk.connect(('127.0.0.1',8000))
url = 'https://www.lagou.com/lbs/getAllCitySearchLabels.json'
heards = {
'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/69.0.3452.0 Safari/537.36'
}
cont = requests.get(url=url, headers=heards).text
while True:
cont1 = re.findall('\[.+?\]', cont)
for i in cont1:
sk.send(i.encode('utf8'))
time.sleep(5)

pandas数据保存至Mysql数据库的更多相关文章

  1. Python爬虫抓取东方财富网股票数据并实现MySQL数据库存储

    Python爬虫可以说是好玩又好用了.现想利用Python爬取网页股票数据保存到本地csv数据文件中,同时想把股票数据保存到MySQL数据库中.需求有了,剩下的就是实现了. 在开始之前,保证已经安装好 ...

  2. 猫眼电影爬取(一):requests+正则,并将数据存储到mysql数据库

    前面讲了如何通过pymysql操作数据库,这次写一个爬虫来提取信息,并将数据存储到mysql数据库 1.爬取目标 爬取猫眼电影TOP100榜单 要提取的信息包括:电影排名.电影名称.上映时间.分数 2 ...

  3. 如何将MongoDB数据库的数据迁移到MySQL数据库中

    FAQ v2.0终于上线了,断断续续忙了有2个多月.这个项目是我实践的第一个全栈的项目,从需求(后期有产品经理介入)到架构,再到设计(有征询设计师的意见).构建(前端.后台.数据库.服务器部署),也是 ...

  4. 用JDBC把Excel中的数据导入到Mysql数据库中

    步骤:0.在Mysql数据库中先建好table 1.从Excel表格读数据 2.用JDBC连接Mysql数据库 3.把读出的数据导入到Mysql数据库的相应表中 其中,步骤0的table我是先在Mys ...

  5. 一张自增表里面总共有 7 条数据,删除了最后 2 条数据,重启 MySQL 数据库,又插入了一条数据,此时 id 是几?如何获取当前数据库版本?

    一张自增表里面总共有 7 条数据,删除了最后 2 条数据,重启 MySQL 数据库,又插入了一条数据,此时 id 是几? 一般情况下,我们创建的表的类型是InnoDB,如果新增一条记录(不重启mysq ...

  6. Python scrapy爬虫数据保存到MySQL数据库

    除将爬取到的信息写入文件中之外,程序也可通过修改 Pipeline 文件将数据保存到数据库中.为了使用数据库来保存爬取到的信息,在 MySQL 的 python 数据库中执行如下 SQL 语句来创建 ...

  7. python之scrapy爬取数据保存到mysql数据库

    1.创建工程 scrapy startproject tencent 2.创建项目 scrapy genspider mahuateng 3.既然保存到数据库,自然要安装pymsql pip inst ...

  8. 将白码平台数据存储到MySQL数据库

    概述: 此前在白码平台上搭建并使用系统,若想要将白码平台上搭建的系统的数据存储到自己本地的MySQL数据库中的话,需要将数据导出后再对数据进行处理.如今想要实现这一需求,直接通过使用白码的数据库对接功 ...

  9. 利用Load命令将本地文本里面的数据导入到MySQL数据库

    摘要:在使用MySQL是我们可能会遇到要向我们的表中插入大量的数据如果都使用以下的语句在命令行输入有点不太切实际,幸好MySQL为我们提供了LOAD命令可以批量的从本地文件向MySQL表中导入数据! ...

随机推荐

  1. windows10 iis浏览wcf报404.3错误

    报错:HTTP错误404.3-Not Found 由于扩展配置问题而无法提供您请求的页面.如果该页面是脚本,请添加处理程序.如果应下载文件,请添加MIME映射. 解决步骤如下: 控制面板->打开 ...

  2. 聊一聊,React开发中应该规避的点

    原文永久链接: https://github.com/AttemptWeb..... 下面说到的React开发中注意的问题,部分是自己遇到过的点,部分是收集的,也算是React代码优化部分,这次做一个 ...

  3. Oracle——无法在查询中执行 DML 操作

    今天在调用Oracle Function遇到一个异常

  4. asp.net mvc 使用bootstrap的模态框插件modal

    编译器:vs2012 jquery版本:jquery-1.10.2.js bootstrap:bootstrap.js v3.0.0,包含modal插件 我们要实现一个使用模态框展示从服务器获取的数据 ...

  5. font-svg

    https://fontawesome.com/ http://www.fontawesome.com.cn/cheatsheet/ http://www.iconfont.cn/ string lj ...

  6. Windows Server 2012 R2安装部署Office Web Apps Server

    微软官方参考地址https://technet.microsoft.com/zh-cn/library/jj219455.aspx,建议参考官方说明. 注意:每一步进行完成后重启服务器!!! 一.   ...

  7. mysql开启二进制日志

    打开xhell进入系统 进入mysql配置文件目录 执行 cd /etc/mysql 首先找到my.cnf这个配置文件,然后使用vim进入文件编辑 放开我标记的地方. 注意我标记的地方,其实这个就是在 ...

  8. 【SP1811】 LCS - Longest Common Substring(后缀自动机)

    题目链接 对第一个串建出\(SAM\),然后用第二个串去匹配. 如果能往下走就往下走,不能的话就跳parent tree的父亲,直到能走为止.如果跳到\(0\)了还是不能走,重新匹配. #includ ...

  9. kubernetes第六章--如何访问pod

  10. 中兴软开C++面经(一站式西安)- 2019秋招

    大概是9.6发短信邀请面试,但是6号有三个面试+一个在线笔试,就打算先去平安产险,看中途能不能再面个云从,中兴后面再面.然而,平安等了差不多4个小时才面完,期间云从面试官打来电话,只能说抱歉.中兴本来 ...