您需要在循环中创建data.frame列表

时间:2019-08-01 07:43:07

标签: r

有文件。每次都有不同的号码。 有必要将每个文件中的数据填充到data.frame中,然后进行处理。这是代码段:

library(jsonlite)
library(plyr)

#------------------
path_file_csv<-"e:/DEP/Gol/1/"
path_file_json<-"e:/DEP/Gol/"
fil1<-list.files(path_file_json,("json"),full.names = TRUE)
ff<-file.path(path_file_json, fil1)
nit<-c(1:length(fil1))
print(nit)
gol<-c(list(),nit)
gol1<-c(list(),nit)
#gol1<-c()

#=============My IDEA========================
 for (i in nit) {
   gol[i]<-fromJSON(txt=fil1[i])
   gol1[i]<-as.data.frame(gol[i])
 }
#===============================================

gol<-fromJSON(txt = "e:/DEP/Gol/Gol1_p0.json")
gol1<-as.data.frame(gol)

我尝试过:

#==================My Idea=======================
 for (i in nit) {
   gol[i]<-fromJSON(txt=fil1[i])
   gol1[i]<-as.data.frame(gol[i])
 }
#=================================================

但是会产生错误:

1: In gol[i] <- fromJSON(txt = fil1[i]) :
  number of items to replace is not a multiple of replacement length

文件内容:

{"DocTime":"06.06.2019 15:19:57","OrgName":"РАДА","SName":"35-та сесія 7-го скликання","GLType":"ПОІМЕННЕ ГОЛОСУВАННЯ","GLTime":"06.06.2019 09:30:34","PD_NPP":"0","PD_Fullname":"Початок сесії","GL_Text":"ЗА ОСНОВУ-Початок сесії","GL_ResultType":"Рішення ухвалює БІЛЬШІСТЬ ВІД ЗАГАЛЬНОГО СКЛАДУ","DPList":[{"DPName":"Артимович Андрій Іванович","DPGolos":"ЗА"},{"DPName":"Баб'юк Марія Петрівна","DPGolos":"ЗА"},{"DPName":"Балук Любомир Іванович","DPGolos":"ЗА"},{"DPName":"Бич  Павло Дмитрович","DPGolos":"ЗА"},{"DPName":"Білан Тарас Богданович","DPGolos":"ЗА"},{"DPName":"Бліхар Володимир Васильович","DPGolos":"ЗА"},{"DPName":"Болєщук Петро Михайлович","DPGolos":"ЗА"},{"DPName":"Газилишин Андрій Богданович","DPGolos":"ЗА"},{"DPName":"Гевко Галина Орестівна","DPGolos":"ЗА"},{"DPName":"Генсерук Віктор Анатолійович","DPGolos":"ЗА"},{"DPName":"Гринда Володимир Павлович","DPGolos":"ЗА"},{"DPName":"Грицишин Андрій Антонович","DPGolos":"НЕ ГОЛОСУВАВ"},{"DPName":"Зінь Іван Федорович","DPGolos":"ЗА"},{"DPName":"Ібрагімов Михайло Раджепович","DPGolos":"ЗА"},{"DPName":"Климчук Олег Андрійович","DPGolos":"ЗА"},{"DPName":"Козбур Мар'ян Романович","DPGolos":"ЗА"},{"DPName":"Костюк Ігор Васильович","DPGolos":"ЗА"},{"DPName":"Лупак Сергій Михайлович","DPGolos":"ЗА"},{"DPName":"Місько Володимир Володимирович","DPGolos":"ЗА"},{"DPName":"Надал Сергій Віталійович","DPGolos":"ЗА"},{"DPName":"Нитка Олег Богданович","DPGolos":"ЗА"},{"DPName":"Півторак Святослав Романович","DPGolos":"ЗА"},{"DPName":"Поврозник Петро Іванович","DPGolos":"НЕ ГОЛОСУВАВ"},{"DPName":"Прокопів Ліна Анатоліївна","DPGolos":"ЗА"},{"DPName":"Редьква Назарій Михайлович","DPGolos":"ЗА"},{"DPName":"Серетний Тарас Ігорович","DPGolos":"ЗА"},{"DPName":"Сиротюк Михайло Мирославович","DPGolos":"ЗА"},{"DPName":"Смакоуз Юрій Георгійович","DPGolos":"ЗА"},{"DPName":"Стукало Андрій Васильович","DPGolos":"ЗА"},{"DPName":"Ткаченко Андрій Миколайович","DPGolos":"ЗА"},{"DPName":"Торожнюк Роман Васильович","DPGolos":"ЗА"},{"DPName":"Турецька Наталія Іванівна","DPGolos":"ЗА"},{"DPName":"Шкула Андрій Петрович","DPGolos":"ЗА"},{"DPName":"Шморгай Олег Васильович","DPGolos":"ЗА"},{"DPName":"Шоломейчук Наталія Василівна","DPGolos":"НЕ ГОЛОСУВАВ"},{"DPName":"Штопко Юрій Васильович","DPGolos":"ЗА"},{"DPName":"Шумада Віктор Володимирович","DPGolos":"ЗА"},{"DPName":"Яциковська Оксана Богданівна","DPGolos":"ЗА"}],"YESCnt":35,"NOCnt":0,"UTRCnt":0,"NGCnt":3,"TotalCnt":38,"RESULT":"  РІШЕННЯ ПРИЙНЯТО  "}

这是现在的文件列表

[1] "e:/DEP/Gol/AllGOLOS.json"    "e:/DEP/Gol/Dep_dat.json"     "e:/DEP/Gol/Gol1_p0.json"     "e:/DEP/Gol/Gol10_p0.json"   
  [5] "e:/DEP/Gol/Gol100_p52.json"  "e:/DEP/Gol/Gol101_p53.json"  "e:/DEP/Gol/Gol102_p54.json"  "e:/DEP/Gol/Gol103_p55.json" 
  [9] "e:/DEP/Gol/Gol104_p56.json"  "e:/DEP/Gol/Gol105_p57.json"  "e:/DEP/Gol/Gol106_p57.json"  "e:/DEP/Gol/Gol107_p58.json" 
 [13] "e:/DEP/Gol/Gol108_p59.json"  "e:/DEP/Gol/Gol109_p60.json"  "e:/DEP/Gol/Gol11_p0.json"    "e:/DEP/Gol/Gol110_p61.json" 
 [17] "e:/DEP/Gol/Gol111_p62.json"  "e:/DEP/Gol/Gol112_p63.json"  "e:/DEP/Gol/Gol113_p64.json"  "e:/DEP/Gol/Gol114_p65.json" 
 [21] "e:/DEP/Gol/Gol115_p66.json"  "e:/DEP/Gol/Gol116_p67.json"  "e:/DEP/Gol/Gol117_p68.json"  "e:/DEP/Gol/Gol118_p69.json" 
 [25] "e:/DEP/Gol/Gol119_p70.json"  "e:/DEP/Gol/Gol12_p0.json"    "e:/DEP/Gol/Gol120_p71.json"  "e:/DEP/Gol/Gol121_p72.json" 
 [29] "e:/DEP/Gol/Gol122_p73.json"  "e:/DEP/Gol/Gol123_p74.json"  "e:/DEP/Gol/Gol124_p75.json"  "e:/DEP/Gol/Gol125_p76.json" 
 [33] "e:/DEP/Gol/Gol126_p77.json"  "e:/DEP/Gol/Gol127_p78.json"  "e:/DEP/Gol/Gol128_p79.json"  "e:/DEP/Gol/Gol129_p80.json" 
 [37] "e:/DEP/Gol/Gol13_p0.json"    "e:/DEP/Gol/Gol130_p81.json"  "e:/DEP/Gol/Gol131_p82.json"  "e:/DEP/Gol/Gol132_p83.json" 
 [41] "e:/DEP/Gol/Gol133_p84.json"  "e:/DEP/Gol/Gol134_p85.json"  "e:/DEP/Gol/Gol135_p86.json"  "e:/DEP/Gol/Gol136_p87.json" 
 [45] "e:/DEP/Gol/Gol137_p88.json"  "e:/DEP/Gol/Gol138_p89.json"  "e:/DEP/Gol/Gol139_p90.json"  "e:/DEP/Gol/Gol14_p0.json"   
 [49] "e:/DEP/Gol/Gol140_p91.json"  "e:/DEP/Gol/Gol141_p92.json"  "e:/DEP/Gol/Gol142_p93.json"  "e:/DEP/Gol/Gol143_p94.json" 
 [53] "e:/DEP/Gol/Gol144_p95.json"  "e:/DEP/Gol/Gol145_p96.json"  "e:/DEP/Gol/Gol146_p97.json"  "e:/DEP/Gol/Gol147_p98.json" 
 [57] "e:/DEP/Gol/Gol148_p99.json"  "e:/DEP/Gol/Gol149_p100.json" "e:/DEP/Gol/Gol15_p0.json"    "e:/DEP/Gol/Gol150_p101.json"
 [61] "e:/DEP/Gol/Gol151_p102.json" "e:/DEP/Gol/Gol152_p103.json" "e:/DEP/Gol/Gol153_p104.json" "e:/DEP/Gol/Gol154_p105.json"
 [65] "e:/DEP/Gol/Gol155_p106.json" "e:/DEP/Gol/Gol156_p107.json" "e:/DEP/Gol/Gol157_p108.json" "e:/DEP/Gol/Gol158_p109.json"
 [69] "e:/DEP/Gol/Gol159_p110.json" "e:/DEP/Gol/Gol16_p0.json"    "e:/DEP/Gol/Gol160_p111.json" "e:/DEP/Gol/Gol161_p112.json"
 [73] "e:/DEP/Gol/Gol162_p113.json" "e:/DEP/Gol/Gol163_p114.json" "e:/DEP/Gol/Gol164_p115.json" "e:/DEP/Gol/Gol165_p116.json"
 [77] "e:/DEP/Gol/Gol166_p117.json" "e:/DEP/Gol/Gol167_p118.json" "e:/DEP/Gol/Gol168_p119.json" "e:/DEP/Gol/Gol169_p120.json"
 [81] "e:/DEP/Gol/Gol17_p0.json"    "e:/DEP/Gol/Gol170_p121.json" "e:/DEP/Gol/Gol171_p122.json" "e:/DEP/Gol/Gol172_p123.json"
 [85] "e:/DEP/Gol/Gol173_p124.json" "e:/DEP/Gol/Gol174_p125.json" "e:/DEP/Gol/Gol175_p126.json" "e:/DEP/Gol/Gol176_p127.json"
 [89] "e:/DEP/Gol/Gol177_p128.json" "e:/DEP/Gol/Gol178_p129.json" "e:/DEP/Gol/Gol179_p130.json" "e:/DEP/Gol/Gol18_p0.json"   
 [93] "e:/DEP/Gol/Gol180_p131.json" "e:/DEP/Gol/Gol181_p132.json" "e:/DEP/Gol/Gol182_p133.json" "e:/DEP/Gol/Gol183_p134.json"
 [97] "e:/DEP/Gol/Gol184_p135.json" "e:/DEP/Gol/Gol185_p136.json" "e:/DEP/Gol/Gol186_p137.json" "e:/DEP/Gol/Gol187_p138.json"

1 个答案:

答案 0 :(得分:1)

尝试一下?使用较小的文件样本来查看组合是否有效。不知道如何在不知道您的json文件包含什么的情况下准确地排除错误...

files <- list.files(pattern="\\.json")

library(plyr)
all.data <- ldply(files, fromJSON)