У меня есть несколько тысяч. json файлов с информацией об анализе настроений в каждом файле. Существует файл для каждого идентификатора. Я хочу перенести определенную информацию из файла. json в df. Моя проблема заключается в том, что в каждом файле часто содержится много информации, которая меня интересует.
Например:
PetID Entities Count Name
1 p00001 13 1 NA
2 p00001 13 2 NA
3 p00001 13 3 NA
4 p00001 13 4 NA
5 p00001 13 5 NA
6 p00001 13 6 NA
7 p00001 13 7 NA
8 p00001 13 8 NA
9 p00001 13 9 NA
10 p00001 13 10 NA
11 p00001 13 11 NA
12 p00001 13 12 NA
13 p00001 13 13 NA
14 p00002 2 1 NA
15 p00002 2 2 NA
16 p00004 6 1 NA
17 p00004 6 2 NA
18 p00004 6 3 NA
19 p00004 6 4 NA
20 p00004 6 5 NA
21 p00004 6 6 NA
22 p00006 2 1 NA
23 p00006 2 2 NA
Entitites - это количество информации, которое я хочу получить от каждого файла. ID. json файл.
В столбце «Имя» я хочу получить информацию go.
Я попробовал следующее (надеюсь, это имеет немного больше смысла относительно того, что я пытаюсь сделать):
for(i in 1:nrow(df)){
file <- df[,'PetID']
count <- df[,'Count']
name[i] <- file$entities[[df[,count[,i]]]$name
}
Но это не работает. (файл - это. json имя файла)
Я, по сути, хочу что-то похожее на следующее:
PetID Entities Count Name
1 p00001 13 1 info1
2 p00001 13 2 info2
3 p00001 13 3 info3
4 p00001 13 4 info4
5 p00001 13 5 info5
6 p00001 13 6 info6
7 p00001 13 7 info7
8 p00001 13 8 info8
9 p00001 13 9 info9
10 p00001 13 10 info10
11 p00001 13 11 info11
12 p00001 13 12 info12
13 p00001 13 13 info13
14 p00002 2 1 info1
15 p00002 2 2 info2
16 p00004 6 1 info1
17 p00004 6 2 info2
18 p00004 6 3 info3
19 p00004 6 4 info4
20 p00004 6 5 info5
21 p00004 6 6 info6
22 p00006 2 1 info1
23 p00006 2 2 info2
Рад предложить больше информации, если в этом нет особого смысла.
Заранее спасибо!
РЕДАКТИРОВАТЬ - ВКЛЮЧИТЬ КОД DF НИЖЕ
file_path <- getwd()
print(file_path)
file_list <- list.files(file_path, pattern = '*.json', full.names = FALSE)
head(file_list)
file_list_small <- file_list[1:4] # Just to simplify the process while trying to figure it out!
file_list_small
Pet_ID <- rep(0, length(file_list_small))
Pet_ID
entities_number <- rep(0, length(file_list_small))
entities_number
for(i in 1:length(file_list_small)) {
Pet_ID[i] <- substr(file_list_small[i], 1, 6)
file <- rjson::fromJSON(file = paste(Pet_ID[i], '.json', sep = ''))
entities_number[i] <- nrow(summary(file$entities))
max_entities <- sum(entities_number)
}
col1 <- Pet_ID
col2 <- entities_number
data <- data.frame(col1,col2)
data <- data[rep(1:nrow(data), data$col2),]
PetID_data <- data[,1]
entities_per <- data[,2]
data ; PetID_data ; entities_per
df <- data.frame(matrix(vector(), max_entities, 4,
dimnames = list(c(), c('PetID', 'Entities', 'Count', 'Name'))),
stringsAsFactors = TRUE)
df[,'PetID'] <- PetID_data
df[,'Entities'] <- entities_per
df[,'Count'] <- with(df, ave(seq_along(PetID), PetID, FUN = seq_along))
print(df)
Я также приложил скриншот примера файла. json - обведено информация - это то, что я пытаюсь извлечь.