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. HA 高可用集群概述及其原理解析

    HA 高可用集群概述及其原理解析 1. 概述 1)所谓HA(High Available),即高可用(7*24小时不中断服务). 2)实现高可用最关键的策略是消除单点故障.HA严格来说应该分成各个组件 ...

  2. Docker安装带中文全文搜索插件zhparser的Postgresql数据库

    上一篇讲了在已经安装了PG数据库的情况下,安装全文搜索插件zhparser遇到的问题.在一个全新的环境中安装带有全文搜索插件zhparser的PG数据库,可以使用已经做好的Docker镜像,在安装的过 ...

  3. Bean管理学习笔记

    1.BeanFactory 介绍 1.1 首先什么是Bean? 1.Bean在Spring技术中是基于组件 2.他是Spring容器管理的最基本最常见的单元.在spring的应用场合中,bean可以是 ...

  4. (转)WEB服务器_IIS配置优化指南

    原文地址:https://www.cnblogs.com/heyuquan/p/deploy-iis-set-performance-guide.html 通常把站点发布到IIS上运行正常后,很少会去 ...

  5. Linux 下 maven 的下载、上传与安装

    要运行maven,必须要有 JDK ,maven 是由 Java 语言编写的 一.JDK 的安装 ORACLE 官网下载JDK jdk-8u231-linux-x64.tar.gz 上传 JDK 至 ...

  6. GIt三剑客

    一. Github 什么是Github? github是一个基于git的代码托管平台,付费用户可以建私人仓库,我们一般的免费用户只能使用公共仓库,也就是代码要公开. Github 由Chris Wan ...

  7. 聊聊GIS中的坐标系|再版

    本文约6500字,建议阅读时间15分钟. 作者:博客园/B站/知乎/csdn/小专栏 @秋意正寒 版权:转载请告知,并在转载文上附上转载声明与原文链接(https://www.cnblogs.com/ ...

  8. vue动态加载图片

    如果是直接动态获取完整的图片地址可以使用以下方法 <template> <img :src="url"> </template> <scr ...

  9. 微信web开发问题记录

    问题一.微信浏览器中无法使用reload重载文档[VUE框架] 问题分析: 微信不支持location.reload()方法,在微信浏览器中会失效 Vue中的路由跳转是类似于ajax局部刷新,因此使用 ...

  10. spring 自定义schema 加载异常 White spaces are required between publicId and systemId.

    spring 项目启动报错 报错日志如下: Caused by: org.springframework.beans.factory.xml.XmlBeanDefinitionStoreExcepti ...