我有第三方工具,它使用CSV文本驱动程序,允许对导入工具的CSV数据执行SQL查询。大多数Oracle SQL查询都在这方面工作,而许多人不知道。
我有一个要求,我必须使用没有列名或标题字段的CSV文件读取数据并将其导入工具。如何在没有定义列名或标题的表上执行SQL查询?
样本表:
set.seed(42) # because I use `sample`, o/w unnecessary
df1 <- data.frame(n = sample(5, size = 10, replace = TRUE))
str(df1)
# 'data.frame': 10 obs. of 1 variable:
# $ n: int 5 5 2 5 4 3 4 1 4 4
df2 <- data.frame(n = 1:5, txt = LETTERS[5:9], stringsAsFactors = FALSE)
str(df2)
# 'data.frame': 5 obs. of 2 variables:
# $ n : int 1 2 3 4 5
# $ txt: chr "E" "F" "G" "H" ...
答案 0 :(得分:0)
您可能需要在运行查询之前添加标头。是否有一个表格,数据最终会以最终结束?如果是这样,您可以先从那里导出列名,然后将CSV信息附加到新创建的文件中。
答案 1 :(得分:0)
显然,您可以在使用CSV SQL文本驱动程序与CSV文件进行交互时指定CSV文件是否有标题。
jdbc:csv:////<path_to_file>/?_CSV_Header=false;
然后,我们可以有一个像
这样的查询select distinct (column1) as accountID, (column2) as groupID from csv_file_name
参数(column1), (column2)...
从左到右表示文件中的实际列,并且必须像这样写入以使查询起作用。