我有4个csv文件,我想跳过前4行,从第5行开始作为标题,同时阅读所有的,使一个表了。
使用此代码
CREATE TABLE IF NOT EXISTS ${personal.schema}.${personal.source}_test
USING CSV
OPTIONS (header "true", inferSchema "false", sep ",", multiLine "true", encoding 'UTF8',recursiveFileLookup 'true', skiprows '4' )
-- Change to right storage location
LOCATION 'abfss://......"
字符串
问题是其中一个csv文件在第4行有一些输入,而其余的CSV文件在第4行为空行。我没有提到,所有的头是正确地挑选在所有的csv 3 csv文件,并从第5行开始,但对于一个csv文件,它挑选从第4行。
我该怎么解决这个问题?
我试着只从有问题的csv文件和mentioend `skip rows“5”创建单独的表,它给了我想要的输出。
如果不创建两个saparte表,然后将它们合并,我如何避免这个问题?
1条答案
按热度按时间ulmd4ohb1#
下面的方法将帮助您实现读取数据块中的CSV文件并从中创建一个表。
例如,我有2个文件1个文件的行从第4行开始,第二个文件从第5行开始。
**第一步:**您可以使用以下命令读取多个CSV文件
字符串
输出:
**第二步:**在下面的代码中,合并CSV文件数据并创建SQL表
型
**第三步:**忽略SQL表中的NULL值。
正如您所提到的,如果您想要一个表而不是创建两个表。您可以在使用where子句创建的表上使用select,如下所示:
型
的