H2数据库 - CSVREAD - 跳过将csv文件的标题行加载到db [英] H2 database - CSVREAD - skip loading header line of the csv file into db

查看:923
本文介绍了H2数据库 - CSVREAD - 跳过将csv文件的标题行加载到db的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我在我的java应用程序中使用H2 DB。我想将.csv文件加载到数据库。此文件包含作为文件第一行的列标题。因此,当通过 CSVREAD 命令将文件加载到数据库时,H2试图解析第一行,因此失败。



那么如何跳过加载第一行。下面的查询我使用加载文件到DB:

 CREATE TABLE TEST(CIRCLE VARCHAR_IGNORECASE(50),MSISDN VARCHAR_IGNORECASE(50),PORT_IN_DATE TIMESTAMP,OPERATOR VARCHAR_IGNORECASE(255),PRODUCT_TYPE VARCHAR_IGNORECASE(255),PORT_ID VARCHAR_IGNORECASE(255))AS SELECT * FROM CSVREAD('src / test / resources / test.csv',


解决方案

CSVREAD 函数支持带和不带列标题的文件,如果文件包含列标题,则不提供函数中的列列表,例如:

  SELECT * FROM CSVREAD('test.csv'); 
SELECT * FROM CSVREAD('data / test。 tsv',null,'rowSeparator ='|| CHAR(9));

不包含列标题,然后在函数调用中提供列列表,例如:

  SELECT * FROM CSVREAD 'test2.csv','ID | NAME','charset = UTF-8 fieldSeparator = |'); 


I am using H2 DB in my java application. I want to load a .csv file to the DB. This file contains column headers as the first line of the file. So while loading the file into the DB through CSVREAD command, H2 is trying to parse the first line also and thus failing.

So how to skip loading the first line. Below the query I am using to load the file to the DB:

"CREATE TABLE TEST (CIRCLE VARCHAR_IGNORECASE(50), MSISDN VARCHAR_IGNORECASE(50), PORT_IN_DATE TIMESTAMP, OPERATOR VARCHAR_IGNORECASE(255), PRODUCT_TYPE VARCHAR_IGNORECASE(255), PORT_ID VARCHAR_IGNORECASE(255)) AS SELECT * FROM CSVREAD('src/test/resources/test.csv', "

解决方案

The CSVREAD function supports both files with and without column header. If the file contains a column header, then don't supply the column list in the function, for example:

SELECT * FROM CSVREAD('test.csv');
SELECT * FROM CSVREAD('data/test.tsv', null, 'rowSeparator=' || CHAR(9));

and if the file doesn't contains the column header, then supply the column list in the function call, for example:

SELECT * FROM CSVREAD('test2.csv', 'ID|NAME', 'charset=UTF-8 fieldSeparator=|');

这篇关于H2数据库 - CSVREAD - 跳过将csv文件的标题行加载到db的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆