精华内容
下载资源
问答
  • pandas 链接数据库

    2018-10-01 08:32:03
    from pandas.io import sql sql.execute(‘SELECT * FROM table_name’, engine) sql.execute(‘INSERT INTO table_name VALUES(?, ?, ?)’, engine, params=[(‘id’, 1, 12.2, True)]) 创建链接 from sqlalchemy ...

    直接执行sql
    from pandas.io import sql
    sql.execute(‘SELECT * FROM table_name’, engine)
    sql.execute(‘INSERT INTO table_name VALUES(?, ?, ?)’, engine,
    params=[(‘id’, 1, 12.2, True)])

    创建链接

    from sqlalchemy import create_engine
    
    engine = create_engine('postgresql://scott:tiger@localhost:5432/mydatabase')
    
    engine = create_engine('mysql+mysqldb://scott:tiger@localhost/foo')
    
    engine = create_engine('oracle://scott:tiger@127.0.0.1:1521/sidname')
    
    engine = create_engine('mssql+pyodbc://mydsn')
    
    # sqlite://<nohostname>/<path>
    # where <path> is relative:
    engine = create_engine('sqlite:///foo.db')
    
    # or absolute, starting with a slash:
    engine = create_engine('sqlite:absolute/path/to/foo.db')
    

    创建引擎

    from sqlalchemy import create_engine
    engine = create_engine('sqlite:///:memory:')
    with engine.connect() as conn:
        data = pd.read_sql_table('data', conn)
    

    chunksize设置每次写入的数量,有些数据库会设置限制。

    data.to_sql(‘data_chunked’, conn, chunksize=1000)

    指定相应的数据类型

    from sqlalchemy.types import String
    data.to_sql(‘data_dtype’, engine, dtype={‘Col_1’: String})

    指定索引列
    pd.read_sql_table(‘data’, engine, index_col=‘id’)

    指定时间类型
    pd.read_sql_table(‘data’, engine, parse_dates=[‘Date’])

    读取sql语句选择的数据
    pd.read_sql_query(‘SELECT * FROM data’, engine)

    列子:
    通过sqlalchemy转换指定的数据库格式

    from sqlalchemy import create_engine
    from sqlalchemy import Date
    import pandas as pd
    
    a=[{"time":"2018-09-19","age":17,"salary":199.2,"name":"wang"}]
    
    df=pd.DataFrame(a)
    
    engine = create_engine(
        "postgresql://user:psword@localhost:5432/postgres",
        pool_size=20, max_overflow=0,
        )
    with engine.connect() as conn:
        df.to_sql("test", conn, if_exists='replace', index=False,dtype={'time': Date})
    

    参考文献:
    http://pandas.pydata.org/pandas-docs/stable/io.html#io-sql
    http://docs.sqlalchemy.org/en/latest/core/type_basics.html

    展开全文
  • 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连接数据库

    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)
    print(pdata)
    

    下面解释一下上面的代码:

    1. 导入两个包 pymysql 和sqlalchemy
    2. create_engine(url)此函数作用是与数据库建立连接,下面主要说一下里面url这个参数:
    在这里截取代码中官方给的注释:
      The string form of the URL is
        ``dialect[+driver]://user:password@host/dbname[?key=value..]``, where
        ``dialect`` is a database name such as ``mysql``, ``oracle``,
        ``postgresql``, etc., and ``driver`` the name of a DBAPI, such as
        ``psycopg2``, ``pyodbc``, ``cx_oracle``, etc.  Alternatively,
    

    具体意思是 这个url是个字符串型,具体格式是dialect[+driver]: //user:password@host/dbname[?key=value…]
    dialect :指定连接数据库类型 我填的是mysql
    driver:驱动,也就是数据库连接驱动,python中数据库的连接驱动挺多的,我使用的是pymysql
    user:数据库的用户名
    password:数据库的密码
    host:主机地址 本地通常是localhost 或者127.0.0.1
    dname:数据库库名

    3.pd.read_sql(sql,conn) 这个就是从数据库读取数据返回值为DataFrame类型的 第一个参数是 sql语句 第二个就是conn连接器了。

    数据保存到数据库中

    import pandas as pd
    import numpy as np
    import pymysql
    from sqlalchemy import create_engine
    
    conn = create_engine('mysql+pymysql://root:159951@127.0.0.1:3306/test')
    pdata = pd.read_csv('tips.csv')
    print(pdata.head(10))
    try:
        pdata.to_sql('data1',conn,if_exists='replace',index=False)
    except:
        print('error')
    

    具体解释:

    1. pdata = pd.read_csv(‘文件名称’) 此方法是pandas 读取csv文件函数 返回值类型是DataFrame
    2. pdata.to_sql(‘表名’,连接器,if_exists=’ ') if_exists 这个属性有三种值,为fail时,如果次表名重复,则报错;为replace时,删除已存在的这个表,创建这个表并添加数据 为append 则在该表的最后将数据添加到最后。

    控制台输出的数据:

    在这里插入图片描述
    插入数据库后显示的数据:
    在这里插入图片描述

    我使用的时seaborn官方提供的数据,里面有很多种数据,我一定打包好了,提供大家下载:
    seaborn数据资源下载

    展开全文
  • pandas 连接数据库

    2019-11-26 10:28:11
    读取MySql数据 ...import pandas as pd conn = MySQLdb.connect(host = host,port = port,user = username,passwd = password,db = db_name) data = pd.read_sql('select * from table_name',con=conn...

    读取MySql数据

     import MySQLdb
     import pandas as pd
     conn = MySQLdb.connect(host = host,port = port,user = username,passwd = password,db = db_name)
     data = pd.read_sql('select * from table_name',con=conn)
     conn.close() 
    
    

    读取SqlServer数据

     import pymssql
     conn = pymssql.connect(host=host, port=port ,user=username, password=password, database=database)
    
     sql= "select  * from  CUST_CSI_BND_INDX"#查询条件
     data = pd.read_sql(sql,con=conn)
     conn.close()

    e.g
    import pandas as pd
    import pymssql
    conn=pymssql.connect(host="172.18.3.7",user="gaokexin",password="gaokexin",database="DATAPOOL")
    sql= "select  * from  CUST_CSI_BND_INDX"
    data=pd.read_sql_query(sql,con=conn)
    conn.close() 

     

    https://blog.csdn.net/weixin_42213622/article/details/86523400   

    各种连接数据库详解

    展开全文
  • pandas连接数据库

    2020-04-03 16:24:56
    python强大的处理数据的能力很大一部分来自Pandaspandas不仅限于读取本地的离线文件,也可以在线读取数据库的数据,处理后再写回数据库中。...一:创建链接数据库引擎 from sqlalchemy import crea...

    python强大的处理数据的能力很大一部分来自Pandas,pandas不仅限于读取本地的离线文件,也可以在线读取数据库的数据,处理后再写回数据库中。pandas主要是以sqlalchemy方式与数据库建立链接,支持Mysql、postgresql、Oracle、MS SQLServer、SQLite等主流数据库。

    一:创建链接数据库引擎

    from sqlalchemy import create_engine

    engine= create_engine('postgresql://user@58.251.157.179:port/database',echo = True)

    echo = True ,会显示在加载数据库所执行的SQL语句。

    二:读取数据库数据,存储为DataFrame格式

    1:读取自定义数据(通过SQL语句)

    pandas.read_sql_query(sql, con, index_col=None, coerce_float=True, params=None, parse_dates=None,chunksize=None)

    例如:data = pd.read_sql_query('select * from t_line ',con = engine),会返回一个数据库t_line表的DataFrame格式。如有有时间列可以parse_dates = [time_column]用于解析时间,并把此列作为索引index_col = [time_column]

    read_sql_query()中可以接受SQL语句,包括增删改查。但是DELETE语句不会返回值(但是会在数据库中执行),UPDATE,SELECT,等会返回结果.

    例如:data = pd.read_sql_query('delete from test_cjk where f_intime = 1309',con = engine),这条语句会执行,删除 test_cjk表中f_intime=1309的值,但不会返回data。

    其他例子:

    '''插入操作'''  pd.read_sql_query("insert into cjk_test h values %(data)s",params={'data':v_split[11]},con = engine) 

    '''更新操作''' pd.read_sql_query("update cjk_test set a='粤11111'  WHERE a='粤B30738'",con = engine)  

    '''删除操作''' pd.read_sql_query("delete from cjk_test where c='1'",con=engine)                  

    删除插入更新操作没有返回值,程序会抛出SourceCodeCloseError,并终止程序。如果想继续运行,可以try捕捉此异常。

    2:读取整张表于DataFrame格式

    pandas.read_sql_table(table_name, con, schema=None, index_col=None, coerce_float=True, parse_dates=None, columns=None, chunksize=None)

    例如:data = pd.read_sql_table(table_name = 't_line',con = engine,parse_dates = 'time',index_col = 'time',columns = ['a','b','c'])

    3:读数据库

    pandas.read_sql(sql, con, index_col=None, coerce_float=True, params=None, parse_dates=None, columns=None, chunksize=None)

    三:数据写入于数据库

    DataFrame.to_sql(name, con, flavor='sqlite', schema=None, if_exists='fail', index=True, index_label=None, chunksize=None, dtype=None)

    例如:data.to_sql('test_cjk',engine,if_exists='replace',index = False),把数据写入test_cjk表中。

    if_exists='replace',如果数据库中有test_cjk表,则替换。

    if_exists='append',如果数据库中有test_cjk表,则在表后面添加。

    if_exists='fail',如果数据库中有test_cjk表,则在写入失败。

    chunksize,如果data的数据量太大,数据库无法响应可能会报错,这时候就可以设置chunksize,比如chunksize = 1000,data就会一次1000的循环写入数据库。

    展开全文
  • pandas数据库

    2020-03-30 13:53:10
    pandas读取数据读取数据选取指定列的前、后几位数值增加一列计算sps头卡的位置关系文件中读取桩号、文件号,合并到一个dataframe中炮点文件中读取线号、点号等信息并合并为一个数组提取满足一定条件的数据剔除部分列...
  • pandas数据库进行连接及

    千次阅读 2018-04-19 21:03:53
    SciPy.org — SciPy.org ... Python Data Analysis Library — pandas: Python Data Analysis Library http://pandas.pydata.org/ pandas_360百科 https://baike.so.com/doc/25250734-26252486....
  • 请先解压zip,然后再读取xml文件。代码链接在https://blog.csdn.net/herosunly/article/details/112266117。
  • pandas读取数据库错误

    2021-07-12 10:15:02
    用sqlalchemy链接数据库 用pd.read_sql_table读取出现错误如下 AttributeError: Unsupported argument 'charser' 怎样解决
  • 利用pandas导入数据库数据

    千次阅读 2019-07-14 22:04:34
    #import pandas as pd 导入模块 #import pymysql 导入数据库模块 #con = pymysql.connect(host=‘localhost’,port=3306,user=‘root’,password=‘mysql’,db=‘mypro’,charset=‘utf8’) 建立链接 #df_data = pd....
  • pandas连接MySQL数据库的两种方式

    千次阅读 2020-08-12 13:23:54
    read_sql(sql, con, index_col=...con: 数据库的连接 index_col: 选择某一列作为index coerce_float: 将数字形式的字符串直接以float型读入 params: 返回传递参数的查询字符串 parse_dates: 将某一列日期型字符串转换
  • 使用工具 SQLAlchemy   SQLAlchemy是Python编程语言下的一款开源软件。提供了SQL工具包及对象关系映射(ORM)工具... SQLAlchemy模块提供了create_engine()函数用来初始化数据库连接,SQLAlchemy用一个字符串表...
  • pandas数据库进行交互(以mysql为例)

    万次阅读 多人点赞 2016-07-17 22:34:32
    在新版的pandas中,主要是以sqlalchemy方式与数据库建立链接 支持Mysql、postgresql、Oracle、MS SQLServer、SQLite等主流数据库 本例以MySql为代表,展示将从tushare中获取到的股票数据存入数据库的方法 其他类型...
  • 使用Python+pandas数据库取值

    千次阅读 2021-03-22 12:24:22
    这里写自定义目录标题如何使用Python在数据库取值新的改变功能快捷键合理的创建标题,有助于目录的生成如何改变文本的样式插入链接与图片系列文章目录前言一、pandas是什么?二、使用步骤1.引入库2.读入数据总结如何...
  • pandas操作mysql数据库

    千次阅读 2018-06-21 09:36:36
    一:创建链接数据库引擎from sqlalchemy import create_engineengine= create_engine('postgresql://user@loacalhost:port/database',echo = True)echo = True ,会显示在加载数据库所执行的SQL语句。二:读取数据库...
  • 步骤: 导入包 写sql语句 ...engine=sqlalchemy.create_engine('mysql+pymysql://root:123@localhost:3306/db1') ...import pandas as pd ...# 在数据库中建表,主键,自增之类的,先建好表,字段对应上。
  • 安装jupyter pip3 install jupyter 打开jupyter文档 1: 在命令行输入以下命令 jupyter notebook 2:完成之后,Jupyter Notebooks 就会在默认网络浏览器打开...链接数据库 链接 Mysql from sqlalchemy import creat...
  • 然后创建一个字典,将数据库内的一些属性写入字典。 写一个带办的sql语句, 代码基本就是,创建连接 --> 创建游标 --> 执行代办的sql语句 --> 用游标查出所有的表的内容 --> 建立DataFrame --> 关闭...
  • Pandas关闭Sqlalchemy数据库连接

    千次阅读 2020-01-03 11:31:28
    @[Pandas关闭Sqlalchemy数据库连接] Pandas关闭Sqlalchemy数据库连接 若要真正关闭链接,则需要采用:conn.dispose() conn = create_engine('mysql+pymysql:user:passwd@host:port/db?charset=etf-8') try: dataIn2...
  • pandas读写mysql数据库方法,其实也还挺简单的 上代码 #首先引用第三方库pandas和sqlalchemy import pandas as pd import sqlalchemy #然后建立链接引擎,告诉系统我们连接mysql类型数据库,调用pymysql库,...
  • python强大的处理数据的能力很大一部分来自Pandaspandas不仅限于读取本地的离线...pandas主要是以sqlalchemy方式与数据库建立链接,支持Mysql、postgresql、Oracle、MS SQLServer、SQLite等主流数据库。 一:创建...
  • 导出导入数据【重要】 导入加载数据 pd.read_xxx('文件路径') ...# 方法一:用DBAPI构建数据库链接engine import pandas as pd import pymysql conn = pymysql.connect(host='localhost', user='root', passwor
  • pandas.read_sql_table(table_name, con, schema=None, index_col=None, coerce_float=True, parse_dates=None, columns=None, chunksize=None) con:SQLAlchemy connectable or str A database URI could be ...
  • 利用pandas操作Oracle及MySQL数据库

    万次阅读 2019-06-11 09:30:37
    Python强大的处理数据的能力很大一...pandas主要是以sqlalchemy方式与数据库建立链接,支持Mysql、postgresql、Oracle、MS SQLServer、SQLite等主流数据库。 SQLAlchemy SQLAlchemy是Python编程语言下的一款开源软...
  • Pandas文件操作之与mysql数据库的交互 先导入必要的模块 panads pymysql sqlalchemy 如果没有安装的pymysql和sqlalchemy可以直接 pip install pymysql即可。 然后你必须有自己的数据库并且要运行起来才能链接成功。...
  • pandas不仅可以从本地文件读取数据,也可以从数据库中直接读取。 简单做法: 1. 首先导入需要的包: import pandas import cx_Oracle from sqlalchemy import create_engine 2. 再根据你自己的数据库情况,填入参数...
  • 数据分析之Pandas学习笔记(三)(文件读写,数据库读写)CSV文件(xxx.csv)读取pd.read_csv()写入Excel文件(xxx.xlsx)读取写入用代码自动创建文件,文件夹 CSV文件(xxx.csv) 读取pd.read_csv() pandas.read_csv()...
  • 3、Pandas读写操作Oracle数据库 3.1、Pandas连接Oracle并使用sql语句查询数据 3.2、使用Pandas连接Oracle并插入数据 1、前言 pandas不仅限于读取本地的离线文件,也可以在线读取数据库的数据...
  • 尝试了各种把Excel,csv格式导入数据库,却总是出现各种各样的额错误,后来发现python的pymasql库不支持 "pd.io.sql.to_sql(data, "file_name", con=engine, index=False, if_exists='replace')&...

空空如也

空空如也

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

pandas链接数据库