精华内容
下载资源
问答
  • Pandas连接Mysql数据库

    2021-01-21 05:25:29
    目的在做数据分析时,一般需要从数据库中读取数据,然后再交给算法进行分析,最后将结果...本文关注PandasMySQL连接部分1.安装驱动我的环境是Win10,Python35,Pandas0.20。安装的MySQL驱动位pymysql。pip inst...

    目的

    在做数据分析时,一般需要从数据库中读取数据,然后再交给算法进行分析,最后将结果保存。为了简化分析的过程,我一般会将数据保存在Mysql数据库中,使用SQL进行初步处理、使用MySQL保存中间结果,可以大大的简化数据的维护负担。

    本文关注Pandas与MySQL的连接部分

    1.安装驱动

    我的环境是Win10,Python35,Pandas0.20。安装的MySQL驱动位pymysql。

    pip install sqlalchemy

    pip install pymysql

    2.创建连接引擎

    import pandas as pd

    from sqlalchemy import create_engine

    engine = create_engine('mysql+pymysql://ledao:ledao123@localhost/pandas_learn')

    如果想要使用不同的数据库,如PG,参考sqlalchemy官网,里面有详细的介绍。

    3.与MySQL交互

    第一种方式:

    conn = engine.connect()

    data = pd.read_sql_table('data', conn)

    data

    第二种方式,使用上下文管理器

    ​with engine.connect() as conn, conn.begin():

    data = pd.read_sql_table('data', conn)

    data

    到此,我们成功的将MySQL中的表data中的内容读取到DataFrame data中。

    上下文管理器会自动关闭连接。

    展开全文
  • charset=%s" % ('pymysql', 'root', '111111', '127.0.0.1', 3306, 'standard', 'utf8'), max_overflow=5) session_obj2 = sessionmaker(bind=engine2) # 上面连接了2个数据库,一个是mysql,一个是sqlite3,值得...

    BASE_DIR = os.path.dirname(os.path.dirname(os.path.abspath(sys.argv[0])))

    sys.path.append(BASE_DIR)

    from sqlite3 import dbapi2 as sqlite

    from sqlalchemy import create_engine, Column, String, Integer, BigInteger

    from sqlalchemy.orm import sessionmaker

    from sqlalchemy.ext.declarative import declarative_base

    # 这些都不用管

    Base = declarative_base()

    engine = create_engine('sqlite+pysqlite:///%s'%os.path.join(data_path, 'standard.db'), module=sqlite)

    session_obj = sessionmaker(bind=engine)

    engine2 = create_engine("mysql+%s://%s:%s@%s:%d/%s?charset=%s" % ('pymysql', 'root', '111111', '127.0.0.1', 3306, 'standard', 'utf8'), max_overflow=5)

    session_obj2 = sessionmaker(bind=engine2)

    # 上面连接了2个数据库,一个是mysql,一个是sqlite3,值得注意的是,连接mysql使用的是pymysql模块,也就是说,sqlalchemy底层拼接字符串调用的是pymysql的方法

    # 另一点是,不管是什么数据库,只要这个ORM支持,用的语法都一样!不管是mysql还是sqlite甚至Orcale(但就是没有微软全家桶)

    # 封装一个表

    class Enterprise(Base):

    __tablename__ = 'enterprise'

    id = Column(Integer, primary_key=True)

    enterpriseName = Column(String(250), unique=True)  # 企业名称

    orgCode = Column(String(18), unique=True)  # 信用代码

    areaCode = Column(Integer, index=True)  # 行政区划代码

    xzqh = Column(String(50), index=True)  # 行政区划

    fddbr = Column(String(50))  # 法人

    jgdz = Column(String(250))  # 地址

    ...

    #这个class就是一个表,这是ORM的核心,把表转化成类,表里的字段使用类的属性来对应

    # 向表里插入数据示例:

    """

    例如我有一个数据是字典形式

    dct = {

    'enterpriseName': '123',

    ...

    }

    """

    session = session_obj()  # 同样有游标,这点上我觉的Django的ORM更友好

    obj1 = Enterprise(**dct)

    session.add(obj1)

    session.commit()  # 支持事务

    # 一个sql语句也没写,只要会python语法,就能用ORM

    展开全文
  • 第一:pandas.read_csv读取本地csv文件为数据框形式 data=pd.read_csv('G:\data_operation\python_book\chapter...第四:方法一:保存至MYSQL【缺点耗时长】 利用MYSQLdb库,封装成一个类,实现创建表,添加数据的操作
  • 1、Python连接数据库首先,确保已经安装好pandas、sqlalchemy、pymysql三个包pip install pandaspip install sqlalchemypip install pymysql初始化数据库连接:# 1.导入三个包import pandas as pdfrom sqlalchemy ...

    1、Python连接数据库

    首先,确保已经安装好pandas、sqlalchemy、pymysql三个包

    pip install pandas

    pip install sqlalchemy

    pip install pymysql

    初始化数据库连接:

    # 1.导入三个包

    import pandas as pd

    from sqlalchemy import create_engine

    import pymysql

    # 2.初始化数据库连接(按实际情况依次填写MySQL的用户名、密码、IP地址、端口、数据库名)

    engine = create_engine('mysql+pymysql://root:123456@localhost:3306/mysql50')

    # 这里“mysql+pymysql://”是指明通过pymysql这个包来连接数据库

    # 如果觉得上方代码不够优雅也可以按下面的格式填写:

    # engine = create_engine("mysql+pymysql://{}:{}@{}:{}/{}".format('用户名', '密码', 'IP地址', '端口号', '数据库名'))

    2、Python读取数据库

    写好查询语句并执行,将结果存入数据框DataFrame:

    # 1.使用pandas的read_sql_query函数执行SQL语句,并存入DataFrame

    sql_query = 'select * from student;' # sql查询语句

    # 2.执行查询操作,并存入dataframe

    query_result = pd.read_sql_query(sql_query,engine)

    # 3.看下查出来的数据是怎样的

    df_read.head()

    0166e2cbe578

    image.png

    3、Python写入数据库

    # 1.新建DataFrame,将结构数据写入MySQL

    df_write = pd.DataFrame({'id':[1,2,3],'name':['a','b','c'],'age':[111,112,113]})

    # 2.查看即将写入的数据

    df_write.head()

    0166e2cbe578

    image.png

    # 3.将df_write储存为MySQL中的表,不储存index列.这里也不用先在数据库创建表

    df_write.to_sql('testtable',engine,index = False)

    在MySQL中查看该表:

    0166e2cbe578

    image.png

    展开全文
  • pandas连接数据库 import pymysql from sqlalchemy import create_engine sql = 'select * from data' conn = create_engine('mysql+pymysql://root:159951@127.0.0.1:3306/test') pdata = pd.read_sql(sql,conn) ...
  • pandas连接MySQL数据库的两种方式

    千次阅读 2020-08-12 13:23:54
    read_sql(sql, con, index_col=...con: 数据库的连接 index_col: 选择某一列作为index coerce_float: 将数字形式的字符串直接以float型读入 params: 返回传递参数的查询字符串 parse_dates: 将某一列日期型字符串转换
    read_sql(sql, 
    		 con, 
    		 index_col=None, 
    		 coerce_float=True, 
    		 params=None, 
    		 parse_dates=None, 
    		 columns=None, 
    		 chunksize=None)
    

    参数的意义:
    sql: 为可执行的sql语句
    con: 数据库的连接
    index_col: 选择某一列作为index
    coerce_float: 将数字形式的字符串直接以float型读入
    params: 返回传递参数的查询字符串
    parse_dates: 将某一列日期型字符串转换为datetime型数据,与pd.to_datetime函数功能类似。可以直接提供需要转换的列名以默认的日期形式转换,也可以用字典的格式提供列名和转换的日期格式,比如{column_name: format string}(format string:"%Y:%m:%H:%M:%S")
    colunms: 要选取的列。一般没啥用,因为在sql命令里面一般就指定要选择的列了
    chunksize: 如果提供了一个整数值,那么就会返回一个generator,每次输出的行数就是提供的值的大小。

    import pandas as pd
    
    # 方法一:用DBAPI构建数据库链接engine
    import pymysql
    conn = pymysql.connect(host='localhost',
                           user='root',
                           password='',
                           database='database_name')
    df = pd.read_sql("select * from table_name",con=conn)
    
    
    # 方法二:用sqlalchemy构建数据库链接engine
    import sqlalchemy
    from sqlalchemy import create_engine
    #connect_info = 'mysql+pymysql://{}:{}@{}:{}/{}?charset=utf8'.format(DB_USER, DB_PASS, DB_HOST, DB_PORT, DATABASE)
    connect_info = 'mysql+pymysql://{}:{}@{}:{}/{}'.format('root',
    													   '', 
    													   'localhost', 
    													   3306, 
    													   'nowcoderdb')
    engine=create_engine(connect_info)
    df2=pd.read_sql("select * from table_name",con=engine)
    

    read_sql()read_sql_query()read_sql_table三者都return返回DataFrame。read_sql本质上是read_sql_table、read_sql_query的统一方式。

    展开全文
  • 多年来我一直使用mysql-python库来连接mysql数据库。这些年来它对我很有用。但有时你需要有更快的速度或使用mysql-python时有更好的连接管理。这就是SQLAlchemy的用武之地。在深入研究之前,如果你正在做那些不怎么...
  • pandas连接mysql数据库

    2020-12-19 21:41:40
    安装pipinstallsqlalchemypipinstallpymysqlpipinstallpandas导入包importpandasaspdfromsqlalchemyimportcreate_engine连接数据库engine=create_engine('mysql+pymysql://用户名(一般为root):密码@localhost/数据库...
  • import pandas as pdfrom sqlalchemy import create_engine# 初始化数据库连接,使用pymysql模块# MySQL的用户:root, 密码:root密码, host:39.96.45.1, 端口:3306,数据库:weiboengine=create_engine('mysql+...
  • Pandas纳入了大量库和一些标准的数据模型,提供了大量能使我们快速便捷地处理数据的函数和方法。主要包含两种数据类型:Series和DataFrameSeries可以理解为dict的升级版本,主数组存放numpy数据类型,index数据存放...
  • 通常情况下,pandas连接mysql数据库需要使用pymysql以及sqlalchemy两个库,因此需要先安装这两个库。 python -m pip install sqlalchemy python -m pip install pymysql 安装完毕后,进行连接。 >>> ...
  • Pandas是Python处理数据分析包。当需要处理大量数据时能比EXCEL提供更强大的运行效率。可以与读入,写出如:CSV,CST,Excel,MySQL等数据存储方式。任务:本次将要介绍的是如何利用Pandas以及一些辅助包来:1. 将...
  • 终于让python和MySQL连接上了,花了两天时间才成功建立连接,下面是我遇到问题。 在安装MySQL时候要注意有一个选择,如果你选择了Use Strong Password Encryption for Authentication,就会强密码加密,建不成数据库...
  • 最近在尝试分析骑行数据,发现电脑在执行统计分析一些维度的数据时比较...使用Python读取CSV文件并写入MySQL的方法比较多,比如使用Pandas的to_sql方法,或者读取CSV之后批量写入MySQL,而本文分享的是逐条读取&...
  • import pandas as pd from sqlalchemy import create_engine pd.set_option('display.max_columns', 1000) pd.set_option('display.width', 1000) pd.set_option('display.max_colwidt...
  • 本节课我们首先讲述 PyMySQL 库进行 MySQL 数据库的连接,然后讲述 Pandas 对 MySQLl 数据库的读取。 2. 安装 PyMySQL 库 PyMySQL 库是用于连接 MySQL 服务器的一个库,对应的是 Python3.x 的版本,如果是 ...
  • MySQLPandas准备的SQLAlchemy

    千次阅读 2019-03-30 19:40:03
    多年来我一直使用mysql-python库来连接mysql数据库。这些年来它对我很有用。但有时你需要有更快的速度或使用mysql-python时有更好的连接管理。这就是SQLAlchemy的用武之地。 在深入研究之前,如果你正在做那些不...
  • pandas连接mysql

    千次阅读 2021-12-17 11:54:10
    三,下载完成后进入vscold运行pandas进行mysql连接,输入连接代码即可完成连接 root后面是你的mysql密码 四,有些电脑不支持前两个插件代码下载,如果无法下载则使用一下代码依次下载,与一二方法一样 打开cmd 1...
  • 首先,在cmd里安装pandas、sqlalchemy、pymysql三个包(pymysql也可用mysqlconnector替换,两者都可以连接MySQL数据库): pip install pandas pip install sqlalchemy pip install pymysql 初始化数据库连接:...
  • pandas操作mysql

    2021-02-02 15:08:05
    pandas中使用sql语言 from pandasql imoport sqldf使用从pandasql包中可以导入sqldf,这是我们核心要使用的接口。它接收两个参数,第一个是合法的SQL语句。SQL具有的功能,例如聚合,条件查询,联结,where条件,子...
  • 用时 sqlalchemy与 Pandas read_sql_query(query, con)方法,它将创建一个 SQLDatabase具有属性的对象 connectable至 self.connectable.execute(query) .和 SQLDatabase.connectable被初始化为 con只要it is an ...
  • 利用pandas读取mysql的数据

    千次阅读 2020-05-02 15:00:16
    经常我们的数据在mysql里面,我们需要用的时候,肯定就要想着怎么去获取里面都是的数据 这里用到的是pymysql 首先需要安装pymysql: pip install pymysql ...#获取mysql连接 conn = pymysql.connect( ho...
  • Python 利用Pandas把数据直接导入Mysql

    千次阅读 2021-03-12 15:20:56
    公众号后台回复“图书“,了解更多号主新书内容作者:数据人阿多来源:DataShare 需要把txt文件数据导入mysql数据库,中间需要经过一些数据处理,在经过相关查找后,pandas自带...
  • #sql 命令 sql_cmd = "SELECT * FROM table"df= pd.read_sql(sql=sql_cmd, con=engine) 从Mysql读取数据,返回DataFrame格式的数据 read_sql pandas.read_sql(sql, con, index_col=None, coerce_float=True, params=...
  • import mysql.connector as mysqlconnector from apscheduler.schedulers.blocking import BlockingScheduler from sqlalchemy import create_engine from sqlalchemy.types import BIGINT,VARC.
  • df = pd.read_csv( "tips.csv",encoding= "gbk")df.head结果如下:Select数据查询在SQL中,选择是使用您要选择的列(用逗号分隔)或(*...对于pandas,通过将 列名列表传递给DataFrame来完成列选择。df[[ '总费用', '...
  • Pandas读取csv导入Mysql

    千次阅读 2020-03-20 17:15:46
    csv的格式表头必须跟数据库的类型一样 ...import pandas as pd import time from sqlalchemy import create_engine import pymysql if __name__=='__main__': start=time.time() engine = create_engi...
  • 本次分享将介绍如何在Python中使用Pandas库实现MySQL数据库的读写。首先我们需要了解点ORM方面的知识。ORM技术对象关系映射技术,即ORM(Object-Relational Mapping)技术,指的是把关系数据库的表结构映射到对象上,...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 6,638
精华内容 2,655
关键字:

mysql连接pandas

mysql 订阅