首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >python-pandas和mysql等数据库

python-pandas和mysql等数据库
EN

Stack Overflow用户
提问于 2012-04-09 02:01:13
回答 13查看 122.5K关注 0票数 97

Pandas的文档中有许多处理以各种格式存储的数据的最佳实践示例。

但是,我找不到任何使用数据库的好例子,比如MySQL。

谁能给我一些链接,或者给我一些代码片段,告诉我如何使用mysql-python将查询结果有效地转换为熊猫中的数据帧?

EN

回答 13

Stack Overflow用户

发布于 2012-06-21 20:34:30

正如Wes所说,一旦您使用DBI兼容库获得了数据库连接,io/sql的read_sql就可以做到这一点。我们可以看两个简短的示例,使用MySQLdbcx_Oracle库连接到Oracle和MySQL并查询它们的数据字典。以下是cx_Oracle的示例

import pandas as pd
import cx_Oracle

ora_conn = cx_Oracle.connect('your_connection_string')
df_ora = pd.read_sql('select * from user_objects', con=ora_conn)    
print 'loaded dataframe from Oracle. # Records: ', len(df_ora)
ora_conn.close()

下面是MySQLdb的等效示例

import MySQLdb
mysql_cn= MySQLdb.connect(host='myhost', 
                port=3306,user='myusername', passwd='mypassword', 
                db='information_schema')
df_mysql = pd.read_sql('select * from VIEWS;', con=mysql_cn)    
print 'loaded dataframe from MySQL. records:', len(df_mysql)
mysql_cn.close()
票数 102
EN

Stack Overflow用户

发布于 2014-07-30 15:04:38

对于这个问题的最近读者:熊猫在它们的docs for version 14.0中有以下警告

警告:某些现有函数或函数别名已弃用,将在未来版本中删除。这包括: tquery,uquery,read_frame,frame_query,write_frame。

和:

警告:已弃用使用DBAPI连接对象时对‘mysql’风格的支持。SQLAlchemy engines (GH6900)将进一步支持MySQL。

这使得这里的许多答案都过时了。您应该使用sqlalchemy

from sqlalchemy import create_engine
import pandas as pd
engine = create_engine('dialect://user:pass@host:port/schema', echo=False)
f = pd.read_sql_query('SELECT * FROM mytable', engine, index_col = 'ID')
票数 58
EN

Stack Overflow用户

发布于 2013-02-27 02:58:37

对于记录,下面是一个使用sqlite数据库的示例:

import pandas as pd
import sqlite3

with sqlite3.connect("whatever.sqlite") as con:
    sql = "SELECT * FROM table_name"
    df = pd.read_sql_query(sql, con)
    print df.shape
票数 23
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/10065051

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档