将数据从CSV文件导入PG数据库

Advertisement
csv文件内容:
[postgres@pg ~]$ vi PGOracle.csv 

1,2,3
4,5,6
7,8,9

创建了新表:
postgres=# create table testim(col1 text,col2 text,col3 text);
CREATE TABLE

从文件导入数据:
postgres=# copy  testim from '/home/postgres/PGOracle.csv' CSV HEADER;
COPY 2

查看导入数据:
postgres=# select * from testim;
 col1 | col2 | col3
------+------+------
 4    | 5    | 6
 7    | 8    | 9
(2 rows)

postgres=# 

发现少了第一行,这是可预料的结果,因为指定了 CSV HEADER,此命令会忽略第一行。

但是发现去掉CSV HEADER会报错:
postgres=# copy  testim from '/home/postgres/PGOracle.csv' ;
ERROR:  missing data for column "col2"
CONTEXT:  COPY testim, line 1: "1,2,3"

那么以后做CSV导入的时候就要注意一下了。

Similar Posts:

  • CSV文件导入MySQL数据库方法

    >mysql 下执行命令: load data in file'/mnt/share/patch_export.csv' //csv file path into table `tablename` fields terminated by','optionallyenclosedby'"'escapedby'"' lines terminated by'\n'; 如果遇到权限问题的error,可以在连接mysql时加入参数--local-infile 即mysql -uroot

  • [置顶] Jsoup学习笔记9:Jsoup 解析saz文件,读取其中的htm文件到字符串,提取字符串中的数据写入csv文件中

    本篇笔记将上篇笔记的操作做些改进,不再把saz文件中的htm文件解析出来,而是不解压直接读取其中的数据成字符串,基本思路如下: 1.自定义一个从文本文件读取内容到字符串的类:解析saz文件中的htm文档,将文件的内容读取到字符串中 2.自定义利用Jsoup解析htm字符串的类:利用Jsoup解析传入的htm字符串,将解析结果写入csv文件中 3.解析时,指定好文件路径,直接调用上面的两个工具类即可 示例代码如下: package com.daxiang.saztest; /** * 自定义一个从

  • 从CSV文件导入Hive出现中文乱码问题解决

    关于HIVE中文乱码问题的解决办法,网上有很多帖子,然而很多都是基于LINUX终端显示字符的修改,其实上对于一些条件下的HIVE中文乱码问题是无法解决的,如从CSV文件导入到HIVE中出现的中文乱码问题. 大家都知道,HIVE原生的字符编码是采用UTF-8方式的,这是支持中文的.然而在从ORACLE导出CSV文件,注入到HIVE表中的时候,就发现输入时出现中文乱码.按照HIVE中文乱码的解决思路(基于系统字符编码的修改方式)总是没有成功. 后来考虑到HIVE将数据是存放在HDFS上的,并以序列化

  • 将CSV格式文件导入SQLSERVER数据库

    /// <summary> /// 通过文件流的方式来读取CSV文件 /// </summary> /// <param name="files">文件名称</param> /// <param name="HeadYes">第一行是否为列标题</param> /// <param name="span">分隔符</param> /// <ret

  • PHP 将CSV文件导入到Mysql数据库

    一般导入导出文件格式都为 Excel , 最近项目需要 , 涉及到 CSV格式的文件导入 , 直接上代码看一下: 一:简单的设置个form表单按钮: <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>导入CSV文件人员信息</title> </head> <body> <for

  • 将某个文件夹的excel csv文件导入数据库

    DECLARE @dir sysname,@cmd nvarchar(4000); SET @dir = 'C:'; CREATE TABLE #tmp(filename nvarchar(1024)); SET @cmd = N'dir "' + @dir + '*.csv" /B' INSERT #tmp EXEC master.dbo.xp_cmdshell @cmd; DELETE #tmp WHERE filename IS NULL; IF EXISTS(SELECT *

  • 将csv文件导入oracle中

    本文介绍了四种方法,实现将一个csv文件(文本以逗号分割)导入oracle数据库表. 1 复制.粘贴 将csv文件以excel打开,删除题头行,只保留数据,在第一列前面加空白列,列的顺序与表中字段顺序一致. 复制csv中所有数据单元格,包含空白列: 在plsql中执行select * from test for update;后锁定表,使用鼠标选中第一行,ctrl+v,实现将数据粘贴到表中.粘贴完成时间视数据量而定,数据较多,则时间稍久,且会消耗较大内存.可打开任务管理器,查看plsql进程占用

  • 将csv文件导入/导出mySQL

    最近有一个很大的csv文件,想导入到mySQL统一进行处理.csv的结构如下图所示: 现在需要新建一个表: 对应csv文件中的记录. 最后开始导入到mySQL中: by '\r\n' 或者写成by '\n'都是可以的. 看看导入后的效果: 我把这个alibaba.csv也传上来,存在附件中. *******************************************************************************************************

  • 发送邮件方法和将数据写入.csv文件---测试有效

    最近在程序里有用到发邮件的功能,在网上找了一个发送邮件的方法,但需要稍微做些修改,现整理后如下:带发送附件功能,也可抄送.在VS2010环境下,测试有效. public static bool SendMails(string recieve, string subject, string mailbody, string strFileName) { bool send_result; string sender = "david@qiwipay.cn";//发送者邮箱地址 stri

  • 将php数据下载csv文件

    <?php $sales = array( array( 'Northeast', '2005-01-01', '2005-02-01', 12.54 ), array( 'Northwest', '2005-01-01', '2005-02-01', 546.33 ), array( 'Southeast', '2005-01-01', '2005-02-01', 93.26 ), array( 'Southeast', '2005-01-01', '2005-02-01', 945.21 )