美文网首页python的基础以及提高
如何使用Python将csv数据导入到Postgresql数据库

如何使用Python将csv数据导入到Postgresql数据库

作者: g_s_007 | 来源:发表于2019-08-26 09:47 被阅读0次

关于安装网上一搜一大堆,这里不再赘述,只介绍在工作中遇到的一些问题及解决方法

Postgresql 的安装与使用

可以参考: https://www.cnblogs.com/qiyebao/p/4562557.html

\c 数据库名 # 切换数据库
\l 查看数据库
\d 表名 # 查看表名s
# 创建schema
create schema schema名;
# 登录数据库
psql -h 127.0.0.1 -d postgres -U postgres

如何从终端导入csv文件到数据库

 COPY 表名 from '/你的路径/123456.csv' with csv header;
# 示例
 COPY visit.inpat_record from '/home/day04/new_insert_data/visit.inpat_record.csv' with csv header;

如何使用python将csv 数据导入到postgresql 中

官方文档参考:https://www.postgresql.org/docs/current/sql-copy.html

在csv中,默认是逗号分隔符,但是如果你的字段中本身就有逗号的话,而你又想用csv 格式导入数据,这个时候,就需要用到copy的参数 DELIMITER
如果你的字段中有些是空值,这个时候需要用到copy的参数NULL

     try:
          file_path = "/home/123.csv"
          with open(file_path, 'r', encoding='utf-8', newline='') as f:
              insert_sql = """COPY diag.patient FROM STDIN WITH (FORMAT CSV,HEADER true, NULL 'nan', DELIMITER '\t')""" 
              cursor.copy_expert(insert_sql, f)
              conn.commit()
    except Exception as e:
        print(str(e))
        conn.rollback()

相关文章

网友评论

    本文标题:如何使用Python将csv数据导入到Postgresql数据库

    本文链接:https://www.haomeiwen.com/subject/lfolectx.html