python连接postgreSQL数据库:获取数据表列名,同时转换为DataFrame

import psycopg2  #python用来操作postgreSQL数据库的第三方库   
import pandas as pd
# 连接到一个给定的数据库
conn = psycopg2.connect(database="***(需要连接的数据库名称)",user="postgres", password='***数据库密码', host="localhost", port='5432')
cursor = conn.cursor() # 连接游标
#获取数据表1中的列名
sql1_text="""select string_agg(column_name,',') from information_schema.columns 
        where table_schema='public' and table_name='datatable1(表名)'  
                """
cursor.execute(sql1_text)  #执行SQL语句
# 获取SELECT返回的元组
data1 = cursor.fetchall()  # 获取sql1_text中全部数据,此数据为嵌套元组数据(元组列表)
#获取数据表1中的数据
sql2_text = """select *
               from datatable1
                """
cursor.execute(sql2_text) #执行SQL语句
# 获取SELECT返回的元组
data2 = cursor.fetchall()  # 获取sql2_text中全部数据
#将获得的列名元组数据转换为列名列表数据
columns_name = list(data1[0])[0].split(',')
df1=pd.DataFrame(list(data2),columns=columns_name)
cursor.close()  # 关闭游标
conn.close()  # 关闭数据库连接--不需要使用数据库时,及时关闭数据库,可以减少所占内存


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值