Я пишу функцию для преобразования файла JSON в файл SQLite, представляя его в таблице, но у меня небольшие проблемы с индексацией объектов без ключей. Например, я конвертирую этот JSON файл, но не уверен, как правильно его проиндексировать.
[ [ "A1", "A2", "A3" ],
[ 1.1, 2.2, 3.3],
[ 4.4, 5.5, 6.6] ]
Пока это все, что у меня есть
library(rjson)
library(sqldf)
library(RSQLite)
convert = function (infile,outfile,name = "test"){
data = fromJSON(file = infile)
cols = length(data$header) #data[1]
rows = length(data$data) #data[2]
temp = matrix(NA, rows, cols) #create an empty dataframe and populate it
for (i in 1:rows){
for (j in 1:cols){
temp[i,j] = ((data$data)[[i]])[[j]]
}
}
#Save data into the dataframe
temp = as.data.frame(temp)
colnames(temp) = data$header
#Save to sqlite
db = dbConnect(SQLite(), dbname = outfile)
dbWriteTable(conn = db, name = name, value = result, row.names = FALSE, overwrite = TRUE)
}
infile - это JSON файл, содержащий список. Первый элемент списка - это список строк, определяющих имена столбцов. Последующие элементы списка представляют собой списки числовых значений. outfile - это база данных SQLite с таблицей, представляющей данные в infile, с 3 столбцами A1 A2 A3.