如何从数据库中读取数倌栗受绽据到DataFrame中?pandas提供这这样的接口完成此工作——read_sql()。下面我们用塾即孢忧离子来说明这个方法。
我们要从sqlite数据库中读取数据,引入相关模块![pandas教程:[19]读写sql数据库](https://exp-picture.cdn.bcebos.com/92dd32f7dfb2dc19b0e75daf95def4dca1391063.jpg)
read_sql接受两个参数,一个是sql语句,这个你可能需要单独学习;一个是con(数据库连接)、read_sql直接返回一个DataFrame对象
打印一下,可以看到已经成功的读取了数据![pandas教程:[19]读写sql数据库](https://exp-picture.cdn.bcebos.com/92174dbbf82064fb37c037958e6104a354e96f63.jpg)
我们还可以使用index_col参数来规定将那一列数据设置为index
结果输出为:![pandas教程:[19]读写sql数据库](https://exp-picture.cdn.bcebos.com/6002c9d4483104eb366c59bb092b74ee1d324e63.jpg)
当然,我们可以设置多个index,只要将index_col的值设置为列表
输出结果为:![pandas教程:[19]读写sql数据库](https://exp-picture.cdn.bcebos.com/5e615d715fdb3620baf6cb3dabc5260f89358d63.jpg)
写入数据库也很简单,下面第二句用于删除数据库中已有的表"weather_2012",然后将df保存到数据库中的"weather_2012"表![pandas教程:[19]读写sql数据库](https://exp-picture.cdn.bcebos.com/9881b1fce186242f8ebe92ab35e434daf15ee863.jpg)
假如我们使用的是mysql数据库也没问题,我们只需要建立与mysql的连接即可,用下面的con代替上面的con可以达到的效果相同。![pandas教程:[19]读写sql数据库](https://exp-picture.cdn.bcebos.com/a31e1214c27bd282de45a7f23cb1eef97ebd3660.jpg)