Pandas处理MySQL数据 二维码
47
背景知识视频教程使用pyodbc我们将使用sakila数据库,MYSQL的示例。 借助pyodbc库(您也可以使用MYSQLDB库),我们可以创建到数据库的连接字符串:
注意:要使用PYODBC库,您需要为使用的数据库系统安装一个有效的ODBC连接器。 我们可以做的整洁的事情之一是使用python格式化功能,通过提示用户输入用户名和密码来为连接字符串提供参数-避免显式输入密码:
注意,user和pwd将如何替换连接字符串中的%s,使其等效于第一个示例。 要使用pyodbc查询数据库,只需创建一个游标并执行所需的任何查询。 在示例中,我们将从电影数据库中选择“标题和发行年份”(无需显式数据库名称,因为我们在连接中仅与之连接):
在运行查询之后,我们可以使用以下方法获得结果:
但是有一个警告,cursor.fetchall()返回Python列表,而不是存储表格数据的最有效/用户友好的方法。
我们可以使用以下命令将此对象转换为pandas DataFrame(df):
如果检查Movies_release_year的dataframe,则该对象看起来很奇怪,因为它没有有关该表的列名或其他元数据。 幸运的是,pandas为我们提供了一种在基础查询中将SQL表转换为DataFrames的巧妙方法-输入pandas read_sql_query方法:
如果您使用movies_release_year.columns和movies_release_year.index检查movies_release_year的对象元数据,则会得到以下输出:
现在,列名正确显示,我们可以从对象数据框中使用movies_release_year [“ title”]或movies_release_year.title来调用它们。SQL等效于“select title from film”,但是行索引有些麻烦,自然,我们的查询没有读取“主键/索引”。 Pandas dataframe索引函数类似于SQL表索引,并且要显式索引的列,我们可以简单地将参数传递给read_sql_query:
使用Pandas将MySQL数据库加载到BigQuery中使用Flask将Pandas dataframe(MySQL数据)转换为CSV加快批量插入数据库的速度Pickle MySQL表数据使用SQLAlchemy将Pandas连接到数据库使用Pandas展平JSON请求 |