python-3.x - 如何编写函数将 sql 查询转换为数据框
问题描述
经过很多努力,我以某种方式编写了一个获取表和表中数据的函数,但是在将查询转换为 DataFrame 时暂停了,任何帮助!
我已经尝试过这种方式,欢迎任何建议,我会向他们学习!!
import pandas as pd,pymysql.cursors
class Db_Conn(object):
def __init__(self):
connection=pymysql.connect(host='****',
user='****',
password='*****',
db='******',
charset='utf8mb4',
cursorclass=pymysql.cursors.DictCursor)
self.connection=connection
def fetchtables(self,query):
with self.connection.cursor() as cursor:
if cursor.execute(query):
for (table_name) in cursor:
print(table_name)
elif cursor.execute(query):
a=cursor.fetchall()
print(a)
我为此苦苦挣扎......我希望这个函数将 sql 查询转换为 DataFrame
def dataframes(self,query):
with self.connection.cursor() as cursor:
a=pd.read_sql(query,cursor)
print(a)
我已将对象创建为:
db1=Db_Conn()
# db2=db1.fetchtables('show tables')
# db3=db1.fetchtables('select * from **')
df1=db1.dataframes('select * from ****')
解决方案
像下面这样使用read_sql()
def _get_data(self):
df= pd.read_sql("select col1,col2 from table_name", connection)
return df
它将返回数据框
推荐阅读
- c++ - 为每个循环在不同的内存位置创建一个数组
- python - 用没有辅助 C 函数的 python 回调替换共享库中的现有函数指针
- python-3.x - 如何在函数中使用 vars() 来访问 Python 中的全局变量
- apache-spark - 为什么我的 Spark 应用程序在集群模式下失败但在客户端模式下成功?
- dll - 使用扩展执行的进程找不到引用的 dll 的路径
- reactjs - 从覆盖的输入中打开选择列表 - 材质 ui
- powershell - 使用 Powershell 和 Try/Catch 更新特定的注册表项?
- java - JTable滚动条右上角
- database - 图片未上传到数据库
- javascript - 从控制器返回变量值到视图