很多时候,我们用Python处理数据,需要连接到Mysql、Postgresql等数据库,获取表数据,再构建pandas的DataFrame进行进一步处理。但是查询数据库结果集是没有表字段名称的,我们希望构建的DataFrame的列名和表字段一样。
直接上代码
这里以Postgresql数据库为例,Mysql数据库差不多,其他的自行改造。
先封装一个查询类,查询返回的结果是一个字典,head
是表列名,data
是表数据,再用DataFrame构造数据结构。
import psycopg2
import pandas as pd
class db_pg:
def __init__(self, host, db, user, pwd, port):
self.host = host
self.db = db
self.user = user
self.pwd = pwd
self.port = port
self._conn = self._connect()
self._cursor = self._conn.cursor()
def _connect(self