使用pycharm先建立与PG数据库的连接:

使用psycopg2包,我们建立table_word表,字段分别是url,title,time,content,使用url作为主键。

代码如下

## 导入psycopg2包
import psycopg2
## 连接到一个给定的数据库
conn = psycopg2.connect(database="db", user="wjz",password="password", host="101.43.XXX.XXX", port="5432")
## 建立游标,用来执行数据库操作
cursor = conn.cursor()## 执行SQL命令
cursor.execute("""CREATE TABLE if not exists table_word(url varchar(60) PRIMARY KEY     NOT NULL,title varchar(30) NOT NULL, time varchar(20) ,content text)""")insert_sql = "INSERT INTO table_word \values('http://blog.sina.com.cn/s/blog_4462623d0102ze34.html','心智与觉醒','2021-12-23 12:23:42','test') \on conflict on constraint table_word_pkey\do nothing;"
cursor.execute(insert_sql)## 提交SQL命令
conn.commit()## 执行SQL SELECT命令
cursor.execute("select * from table_word")## 获取SELECT返回的元组
rows = cursor.fetchall() #获取全部数据
# rows = cursor.fetchmany(size=500) #batch为500条数据进行获取
for row in rows:print(row)## 关闭游标
cursor.close()## 关闭数据库连接
conn.close()

上述逻辑实现后,将insert插入数据包装为函数,使用excutemany批量插入数据,供爬虫数据后写入:

## 导入psycopg2包
import psycopg2def insert_table(data):## 连接到一个给定的数据库conn = psycopg2.connect(database="db", user="wjz",password="password", host="101.43.XXX.XXX", port="5432")## 建立游标,用来执行数据库操作cursor = conn.cursor()## 执行SQL命令cursor.execute("""CREATE TABLE if not exists table_word(url varchar(60) PRIMARY KEY     NOT NULL,title varchar(30) NOT NULL, time varchar(20) ,content text)""")#do nothing是在主键冲突时防止SQL报错,若主键冲突则什么也不做insert_sql = "INSERT INTO table_word values(%s,%s,%s,%s) \on conflict on constraint table_word_pkey\do nothing;"cursor.executemany(insert_sql,data)## 提交SQL命令conn.commit()# ## 执行SQL SELECT命令# cursor.execute("select * from table_word")## ## 获取SELECT返回的元组# rows = cursor.fetchall() #获取全部数据# # rows = cursor.fetchmany(size=500) #batch为500条数据进行获取# for row in rows:#     print(row)## 关闭游标cursor.close()## 关闭数据库连接conn.close()if __name__ == "__main__":data = [['http://blog.sina.com.cn/s/blog_4462623d0102ze34.html', '心智与觉醒', '2021-12-23 12:23:42', 'test'],['http://blog.sina.com.cn/s/blog_4462623d0102ze34.html', '心智与觉醒', '202sf12-23 12:23:42', 'test'],['http://blog.sina.com.cn/s/blog_4462623d0102zeaa.html', '心智与fs', '2021-12-23 12:23:42', 'test']]insert_table(data)

执行结果,查看数据:

Python读取写入postgresql数据库相关推荐

  1. python读取写入文件_Python读取文件,写入文件,打开文件,删除文件,复制文件

    python读取写入文件 In this tutorial we are going to learn about Python File Operations such as python read ...

  2. php怎么从文件中读取数据库连接,PHP连接 读取 写入mysql数据库的方法 附常用代码...

    MYSQL一般都是和PHP配套使用用来建设网站,这里提供PHP连接MySQL数据库以及读取写入数据库的方法,供大家参考使用: 1.为了更好地设置数据连接,一般会将数据连接所涉及的值定义成变量. $my ...

  3. python读取千万级数据库数据类型_解决python读取几千万行的大表内存问题

    Python导数据的时候,需要在一个大表上读取很大的结果集. 如果用传统的方法,Python的内存会爆掉,传统的读取方式默认在内存里缓存下所有行然后再处理,内存容易溢出 解决的方法: 1)使用SSCu ...

  4. python读取写入文件_Python读取和写入文件

    1 从文件中读取数据 1.1 读取整个文件 创建名为test的txt文本文件,添加内容如下所示: 1234567890 2345678901 3456789012 实现代码: with open('t ...

  5. python批量写入数据库engine_python 快速写入postgresql数据库方法

    一种是导入sqlalchemy包,另一种是导入psycopg2包. 具体用法如下(此处以postgre数据库举例) 第一种: # 导入包 from sqlalchemy import create_e ...

  6. python读取千万级数据库数据类型_Python 基于Python从mysql表读取千万数据实践

    场景: 有以下两个表,两者都有一个表字段,名为waybill_no,我们需要从tl_waybill_bar_record表读取1000w条唯一的waybill_no,然后作为INSERT SQL语句的 ...

  7. python读取网页表格数据库_python 提取网页表格数据库数据库

    python开源工具列表[持续更新] 以下是个人在工作中整理的一些python wheel,供参考.这个列表包含与网页抓取和数据处理的Python库 网络 通用urllib -网络库(stdlib). ...

  8. python读取写入文件_Python文件读写保存操作

    记录下第一次使用Python读写文件的过程,虽然很简单,第一次实现其实也有些注意的事项. 单个文件的读操作: 我们先假设一个需求如下: 读取一个test.txt文件 删除指定字符之前的文本 需求明白之 ...

  9. Python读取/写入EXCEL及样式

    xlrd和xlwt是python操作excel的两个库,xlrd用于读取,xlwt用于写入.xlwt无法直接操作xlrd读取的excel数据,需要使用xlutils3将xlrd读取的excel拷贝成x ...

最新文章

  1. 解决CSV文件中长数字以科学记数格式保存问题
  2. 树莓派安装docker
  3. python输入字符串转换为公式_python从字符串转换为boolean ?
  4. golang中的爬虫
  5. dev chartcontrol获取x y轴的值_终于,奔驰强势接手了腾势X
  6. CRM呼叫中心里的Java stack
  7. nginx+php+mysql+haproxy+keepalived+NFS,搭建wordpress
  8. java 文件存储_文件存储学生信息(JavaIO流)
  9. Python——格式转换的学习笔记
  10. WebAppBuilder自定义主题
  11. Windows应用程序组成及编程步骤
  12. WSS2.0 服务器启用SQL代理的解决过程
  13. jmeter访问网址
  14. PDF软件有这么好用的打印机,你知道吗?
  15. php腾讯云短信接口调用
  16. python调用pyd_使用python pyd时出错
  17. 【最终幻想15 国王之剑】制作介绍2:最大限度满足角色,背景和道具的要求
  18. 九、奈氏准则和香农定理
  19. 移动H5 iPhone audio没有声音(声音不同步)问题的解决方式
  20. 高通全新WiFi方案支持Ayla物联网平台连接

热门文章

  1. Hive开启审计日志
  2. css基础篇-倒影-阴影
  3. 以太坊5岁有什么庆祝呢
  4. .net C#垃圾回收
  5. java mysql 项目_mysql数据库如何实现与Java项目连接
  6. 4月程序员薪资出炉,又又又拖后腿了?
  7. hadoop中mapreduce的内存环形缓冲区个人讲解
  8. 通过jpg图片隐藏文件
  9. Composer安装与镜像设置
  10. [富爸爸 为什么富人越来越富] 核心笔记