PostgreSQL

PostgreSQL 是一个非常强大的数据库,它是一个免费的对象-关系数据库服务器(数据库管理系统).PostgreSQL支持大部分 SQL 标准, 在语句上也有很大的相似的地方,但是它也增加了新的数据类型,亦可以储存矢量数据信息,比如地理信息.现在也有越来越多的人开始使用postgresql数据库.更多详情信息请在  官方社区(中文) 中查看

批量导出模式中的所有表数据

笔者也才刚开始接触,也有很多不足的地方,后期要知道有优化的地方我会再次修改的.

话不多说直接开始我们需要用的:使用pandas批量导出数据,pandas 不得不数是一个非常强大数据处理工具,他可以直接连接数据库读取其中的数据

直接来代码

import pandas as pd
import psycopg2 # pip install psycopg2 # 连接数据库
# database: 需要连接的数据库名
# user: 使用用户,默认就用postgres
# password: 数据库密码
# host: 端口号
conn = psycopg2.connect(database='58TC',user='postgres',password='123456',host=5432) # 获取模式下的所有表名, 返回结果是dataframe
# pg_tables: 不需要改,获取表名
# schemaname: 你需要导出的数据的模式名
df_tables = pd.read_sql_query("select * from pg_tables where schemaname='2019-3-5'",con=conn)
tables = df_tables['tablename']

到这一步,我们就能获取模式下的所有表的名字,接下来我们只需要读取表中的内容即可

# 将表中的数据进行储存
for city_table in tables:
# 获取当前表中的所有数据
df = pd.read_sql_query('select * from "2019-3-5"."%s"' % city_table,con = conn) # 储存路径,存储为excel
path = 'C:/PostgreSQL/%s.xlsx' % city_table
df.to_excel(path,encoding='utf-8') # 关闭数据库
conn.close

这样我们就完成批量导出模式中的数据啦.不过这里边有很深的坑需要注意.

特别注意

当你使用查询语句的时候尤其要注意符号的问题,在PostgreSQL自带的可视化平台pgAdmin4中,比如说

'select * from "2019-3-5"."%s"' % city_table

模式表名必须要用双引号,如果使用单引号就会报错.但是在限制语句where中,必须要用单引号.

在创建表的时候一样有用哦,下次就把创建表也添加上啦!

笔者踏过的坑,需要多多注意.如有帮助请留个评论.哈哈哈哈 .


突然发现有些网站原文不懂得转发我的博客,哎,脸呢!!!

这也是我辛辛苦苦写的东西,

转发请注明出处,谢谢.

使用pandas导出PostgreSQL 模式下的所有表数据并保存的更多相关文章

  1. 测试Oracle 11gr2 RAC 非归档模式下,offline drop数据文件后的数据库的停止与启动测试全过程

    测试Oracle 11gr2 RAC 非归档模式下,offline drop数据文件后的数据库的停止与启动测试全过程 最近系统出现问题,由于数据库产生的日志量太大无法开启归档模式,导致offline的 ...

  2. Oracle如何导出sys用户下的系统表

    环境:Solaris 10 + Oracle 10.2.0.4 1.导出实例 2.参考内容 Reference 1.导出实例 导出sys用户下的HIST_HEAD$和WRI$_OPTSTAT_HIST ...

  3. vi模式下的编辑、删除、保存和退出

    vi + 文件名:进入 vi 模式 编辑模式:shift+: 退出编辑模式:Esc 退出编辑模式后可进行光标的上下左右移动(偶尔会出现ABCD,还不知道怎么解决,目前只能出来一个删除一个) 光标处:按 ...

  4. oracle如何通过cmd导出某个用户下的所有表

    1:如果要导入的用户下有空表,需要执行下面语句 select 'alter table '||table_name||' allocate extent;' from user_tables wher ...

  5. Oracle下通过EXPDP导出某用户下的所有表,实例

    一开始在所数据库表导入,导出的时候,经常发现含有BLOB等大数据类型文件无法简单正常的导入导出(imp/dmp),然后在网上得知oracle 10以后有了(impdp/dmpdp)命令,数据导入导出的 ...

  6. 魅族MX3\MX2 在MTP模式下恢复手机误删数据教程

    昨天帮室友的魅族mx3升级系统,结果不小心把他手机里的照片删了.但是自从flyme升级到3后,以前的U盘模式就改成了MTP模式,这样再连接电脑后就没办法用电脑上的数据恢复软件恢复数据了,因为压根就检测 ...

  7. Oracle中快速查询和操作某个用户下的所有表数据信息

    一.禁止所有的外键约束 在pl/sql developer下执行如下语句:SELECT 'ALTER TABLE ' || table_name || ' disable CONSTRAINT ' | ...

  8. postgresql 不同数据库不同模式下的数据迁移

    编写不容易,转载请注明出处谢谢, 数据迁移 因为之前爬虫的时候,一部分数据并没有上传到服务器,在本地.本来用的就是postgresql,也没用多久,数据迁移的时候,也遇到了很多问题,第一次使pg_du ...

  9. ASM:《X86汇编语言-从实模式到保护模式》第17章:保护模式下中断和异常的处理与抢占式多任务

    ★PART1:中断和异常概述 1. 中断(Interrupt) 中断包括硬件中断和软中断.硬件中断是由外围设备发出的中断信号引发的,以请求处理器提供服务.当I/O接口发出中断请求的时候,会被像8259 ...

随机推荐

  1. Hyper-V 导入与导出虚拟机

    虚拟机的导入与导出功能可以将虚拟机通过文件的方式进行转移,可以将虚拟机的文件复制到活动硬盘,然后带到其他的地点进行导入,这样方便了虚拟机的跨地域的转移.但是有一点要注意,所有要转移的虚拟机都必须处于停 ...

  2. Windows7 安装ubuntu双系统

    家里的老笔记本是MBR分区,不支持EFI , 一开始是用U盘安装的,还对着ubuntu官网的教程,下载了官方推荐的那个u盘引导工具,安装依然会报错, 网上查询也有很多种说法,也有说是bug的,无论如何 ...

  3. [USACO07DEC]道路建设Building Roads

    题目:洛谷P2872.POJ3625. 题目大意:给你n个点的坐标,有些点已经有边连通,现在要你连上剩下的所有点,求这些边的最小长度是多少(不包括原来的边). 解题思路:最小生成树,把所有边处理出来, ...

  4. [HNOI2012]矿场搭建(割点)

    [HNOI2012]矿场搭建 题目描述 煤矿工地可以看成是由隧道连接挖煤点组成的无向图.为安全起见,希望在工地发生事故时所有挖煤点的工人都能有一条出路逃到救援出口处.于是矿主决定在某些挖煤点设立救援出 ...

  5. IDEA修改当前工程jdk版本

    1.ctrl+shift+alt+s 2.根据实际情况修改jdk版本

  6. 题解 CF1027D 【Mouse Hunt】

    这道题原本写了一个很复杂的DFS,然后陷入绝望的调试. 看了一下题解发现自己完全想复杂了. 这里大概就是补充一些题解没有详细解释的代码吧... (小声BB)现在最优解rank4(话说$O2$负优化什么 ...

  7. 洛谷 P1703 那个什么密码2

    P1703 那个什么密码2 题目背景 https://www.luogu.org/problem/show?pid=1079 题目描述 与原题一模一样.具体不同请见输入格式 输入输出格式 输入格式: ...

  8. [B cannot be cast to java.lang.String

    sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) sun.reflect.NativeMethodAccessorImpl.inv ...

  9. 美团实习生电面之谈(成功拿到offer)

    3月底进行了美团的一次实习生面试(Java研发project师).当时顺利的通过一面.以下是我的一面: 1.CPU由哪些部分组成 2.线程和进程的差别 3.Java类载入机制 4.怎样实现一个字符串的 ...

  10. VS中,打开文件时自动定位到目录树中

    工具--选项--项目和解决方案--常规--在解决方案资源管理器中跟踪活动项 这样就能快速跟踪了.