CSV到特定的嵌套JSON

我开始使用D3Js库开发一个仪表板来生成图。 具体来说就是Sunburst图书馆。 我为testing生成的示例JSON是:

CC : { "2013":{ "1":{ "PESSOAL":{ "Salários Gratificação e Bônus":[63, 40, 60, 18, 22, 58, 86, 69, 62, 46, 89, 55], "Horas Extras":[79, 26, 95, 89, 36, 81, 25, 10, 13, 100, 76, 61], "Comissões":[14, 78, 91, 64, 53, 30, 71, 0, 37, 22, 31, 50], "Premiação sob metas":[65, 30, 65, 78, 40, 4, 26, 1, 84, 11, 90, 75], "Ajuda de Custo":[20, 41, 40, 98, 51, 90, 77, 22, 6, 39, 17, 80], "Ajuda de Viagem":[17, 43, 14, 38, 73, 76, 47, 16, 15, 34, 80, 96], "Estágio":[11, 52, 92, 93, 31, 36, 47, 5, 61, 15, 8, 24], "Representantes Comerciais":[39, 79, 79, 91, 17, 33, 26, 51, 70, 98, 42, 63], } }, "2":{ "PESSOAL":{ "Salários Gratificação e Bônus":[63, 40, 60, 18, 22, 58, 86, 69, 63, 46, 89, 55], "Horas Extras":[79, 26, 95, 89, 36, 81, 25, 10, 13, 100, 76, 61], "Comissões":[14, 78, 91, 64, 53, 30, 71, 0, 37, 22, 31, 50], "Premiação sob metas":[65, 30, 65, 78, 40, 4, 26, 1, 84, 11, 90, 75], "Ajuda de Custo":[20, 41, 40, 98, 51, 90, 77, 22, 6, 39, 17, 80], "Ajuda de Viagem":[17, 43, 14, 38, 73, 76, 47, 16, 15, 34, 80, 96], "Estágio":[11, 52, 92, 93, 31, 36, 47, 5, 61, 15, 8, 24], "Representantes Comerciais":[39, 79, 79, 91, 17, 33, 26, 51, 70, 98, 42, 63], } }, "3":{ "PESSOAL":{ "Salários Gratificação e Bônus":[63, 40, 60, 18, 22, 58, 86, 69, 63, 46, 89, 55], "Horas Extras":[79, 26, 95, 89, 36, 81, 25, 10, 13, 100, 76, 61], "Comissões":[14, 78, 91, 64, 53, 30, 71, 0, 37, 22, 31, 50], "Premiação sob metas":[65, 30, 65, 78, 40, 4, 26, 1, 84, 11, 90, 75], "Ajuda de Custo":[20, 41, 40, 98, 51, 90, 77, 22, 6, 39, 17, 80], "Ajuda de Viagem":[17, 43, 14, 38, 73, 76, 47, 16, 15, 34, 80, 96], "Estágio":[11, 52, 92, 93, 31, 36, 47, 5, 61, 15, 8, 24], "Representantes Comerciais":[39, 79, 79, 91, 17, 33, 26, 51, 70, 98, 42, 63], } } }, "2014":{ "1":{ "PESSOAL":{ "Salários Gratificação e Bônus":[63, 40, 60, 18, 22, 58, 86, 69, 61, 46, 89, 55], "Horas Extras":[79, 26, 95, 89, 36, 81, 25, 10, 13, 100, 76, 61], "Comissões":[14, 78, 91, 64, 53, 30, 71, 0, 37, 22, 31, 50], "Premiação sob metas":[65, 30, 65, 78, 40, 4, 26, 1, 84, 11, 90, 75], "Ajuda de Custo":[20, 41, 40, 98, 51, 90, 77, 22, 6, 39, 17, 80], "Ajuda de Viagem":[17, 43, 14, 38, 73, 76, 47, 16, 15, 34, 80, 96], "Estágio":[11, 52, 92, 93, 31, 36, 47, 5, 61, 15, 8, 24], "Representantes Comerciais":[39, 79, 79, 91, 17, 33, 26, 51, 70, 98, 42, 63], } }, "2":{ "PESSOAL":{ "Salários Gratificação e Bônus":[63, 40, 60, 18, 22, 58, 86, 69, 63, 46, 89, 55], "Horas Extras":[79, 26, 95, 89, 36, 81, 25, 10, 13, 100, 76, 61], "Comissões":[14, 78, 91, 64, 53, 30, 71, 0, 37, 22, 31, 50], "Premiação sob metas":[65, 30, 65, 78, 40, 4, 26, 1, 84, 11, 90, 75], "Ajuda de Custo":[20, 41, 40, 98, 51, 90, 77, 22, 6, 39, 17, 80], "Ajuda de Viagem":[17, 43, 14, 38, 73, 76, 47, 16, 15, 34, 80, 96], "Estágio":[11, 52, 92, 93, 31, 36, 47, 5, 61, 15, 8, 24], "Representantes Comerciais":[39, 79, 79, 91, 17, 33, 26, 51, 70, 98, 42, 63], } }, "3":{ "PESSOAL":{ "Salários Gratificação e Bônus":[63, 40, 60, 18, 22, 58, 86, 69, 63, 46, 89, 55], "Horas Extras":[79, 26, 95, 89, 36, 81, 25, 10, 13, 100, 76, 61], "Comissões":[14, 78, 91, 64, 53, 30, 71, 0, 37, 22, 31, 50], "Premiação sob metas":[65, 30, 65, 78, 40, 4, 26, 1, 84, 11, 90, 75], "Ajuda de Custo":[20, 41, 40, 98, 51, 90, 77, 22, 6, 39, 17, 80], "Ajuda de Viagem":[17, 43, 14, 38, 73, 76, 47, 16, 15, 34, 80, 96], "Estágio":[11, 52, 92, 93, 31, 36, 47, 5, 61, 15, 8, 24], "Representantes Comerciais":[39, 79, 79, 91, 17, 33, 26, 51, 70, 98, 42, 63], } } }, "2015":{ "1":{ "PESSOAL":{ "Salários Gratificação e Bônus":[63, 40, 60, 18, 22, 58, 86, 69, 60, 46, 89, 55], "Horas Extras":[79, 26, 95, 89, 36, 81, 25, 10, 13, 100, 76, 61], "Comissões":[14, 78, 91, 64, 53, 30, 71, 0, 37, 22, 31, 50], "Premiação sob metas":[65, 30, 65, 78, 40, 4, 26, 1, 84, 11, 90, 75], "Ajuda de Custo":[20, 41, 40, 98, 51, 90, 77, 22, 6, 39, 17, 80], "Ajuda de Viagem":[17, 43, 14, 38, 73, 76, 47, 16, 15, 34, 80, 96], "Estágio":[11, 52, 92, 93, 31, 36, 47, 5, 61, 15, 8, 24], "Representantes Comerciais":[39, 79, 79, 91, 17, 33, 26, 51, 70, 98, 42, 63], } }, "2":{ "PESSOAL":{ "Salários Gratificação e Bônus":[63, 40, 60, 18, 22, 58, 86, 69, 63, 46, 89, 55], "Horas Extras":[79, 26, 95, 89, 36, 81, 25, 10, 13, 100, 76, 61], "Comissões":[14, 78, 91, 64, 53, 30, 71, 0, 37, 22, 31, 50], "Premiação sob metas":[65, 30, 65, 78, 40, 4, 26, 1, 84, 11, 90, 75], "Ajuda de Custo":[20, 41, 40, 98, 51, 90, 77, 22, 6, 39, 17, 80], "Ajuda de Viagem":[17, 43, 14, 38, 73, 76, 47, 16, 15, 34, 80, 96], "Estágio":[11, 52, 92, 93, 31, 36, 47, 5, 61, 15, 8, 24], "Representantes Comerciais":[39, 79, 79, 91, 17, 33, 26, 51, 70, 98, 42, 63], } }, "3":{ "PESSOAL":{ "Salários Gratificação e Bônus":[63, 40, 60, 18, 22, 58, 86, 69, 63, 46, 89, 55], "Horas Extras":[79, 26, 95, 89, 36, 81, 25, 10, 13, 100, 76, 61], "Comissões":[14, 78, 91, 64, 53, 30, 71, 0, 37, 22, 31, 50], "Premiação sob metas":[65, 30, 65, 78, 40, 4, 26, 1, 84, 11, 90, 75], "Ajuda de Custo":[20, 41, 40, 98, 51, 90, 77, 22, 6, 39, 17, 80], "Ajuda de Viagem":[17, 43, 14, 38, 73, 76, 47, 16, 15, 34, 80, 96], "Estágio":[11, 52, 92, 93, 31, 36, 47, 5, 61, 15, 8, 24], "Representantes Comerciais":[39, 79, 79, 91, 17, 33, 26, 51, 70, 98, 42, 63], } } }, }; 

问题是,这是一个示例代码。 我所拥有的数据是通过R生成的,并以XLS文件格式导出,显然不是这种格式。 我需要将这个XLS文件转换为上面的这个JSON格式。

数据的格式如下:

 SECTION YEAR MONTH GEXPENSE EEXPENSE VALUE ADM.VENDAS 2015 1 PESSOAL Salarios Gratificacao e Bonus 0,00 ADM.VENDAS 2015 1 PESSOAL Horas Extras 0,00 ADM.VENDAS 2015 1 PESSOAL Comissoes Mistas 0,00 ADM.VENDAS 2015 1 PESSOAL Premiacao sob metas 0,00 ADM.VENDAS 2015 1 PESSOAL Ajuda de Custo 0,00 ADM.VENDAS 2015 1 PESSOAL Comissoes 100% 0,00 ADM.VENDAS 2015 1 PESSOAL Estagio 0,00 ADM.VENDAS 2015 1 PESSOAL Representantes Comerciais 0,00 ADM.VENDAS 2015 1 ENCARGOS FGTS 0,00 ADM.VENDAS 2015 1 ENCARGOS INSS 0,00 ADM.VENDAS 2015 1 ENCARGOS Ferias + 1/3 0,00 ADM.VENDAS 2015 1 ENCARGOS 13 Salario 0,00 ADM.VENDAS 2015 1 ENCARGOS Indenizacoes 0,00 ADM.VENDAS 2015 1 BENEFICIOS Vale Transporte 0,00 ADM.VENDAS 2015 1 BENEFICIOS Alimentacao 0,00 ADM.VENDAS 2015 1 BENEFICIOS Assistencia medica e odont. 0,00 ADM.VENDAS 2015 1 BENEFICIOS Bolsa de estudo 0,00 ADM.VENDAS 2015 1 BENEFICIOS Uniformes/EPI 0,00 ADM.VENDAS 2015 1 BENEFICIOS Seguro de vida 0,00 ADM.VENDAS 2015 1 BENEFICIOS Cursos e treinamentos 0,00 ADM.VENDAS 2015 1 DESP_IMOVEL Aluguel de Imovel 0,00 ADM.VENDAS 2015 1 DESP_IMOVEL Iptu 0,00 ADM.VENDAS 2015 1 DESP_IMOVEL Seguro Imobiliario 0,00 ADM.VENDAS 2015 1 DESP_IMOVEL Manutencao Predial 0,00 ADM.VENDAS 2015 1 IMP_TAX Impostos taxas e alvaras 0,00 ADM.VENDAS 2015 1 IMP_TAX Contribuicao sindical e patronal 0,00 ADM.VENDAS 2015 1 IMP_TAX Contribuicao a entidade de classe 0,00 ADM.VENDAS 2015 1 IMP_TAX Publicacoes Contabeis 0,00 ADM.VENDAS 2015 1 PROMOCAO Anuncios publicacoes e propaganda 0,00 ADM.VENDAS 2015 1 PROMOCAO Eventos feiras e divulgacoes com clientes 0,00 ADM.VENDAS 2015 1 PROMOCAO Bonificacoes Concedidas 0,00 ADM.VENDAS 2015 1 DESP_VEIC Ipva/Dpvat/Taxa Licenciamento/Despachante 0,00 ADM.VENDAS 2015 1 DESP_VEIC Alugueis de veiculos 0,00 ADM.VENDAS 2015 1 DESP_VEIC Combustiveis e lubrificantes 0,00 ADM.VENDAS 2015 1 DESP_VEIC Seguro Veicular 0,00 ADM.VENDAS 2015 1 DESP_VEIC Manutencao Veicular Corretiva 0,00 ADM.VENDAS 2015 1 DESP_VEIC Manutencao Veicular Preventiva 0,00 ADM.VENDAS 2015 1 FRETE Fretes PJ 0,00 ADM.VENDAS 2015 1 FRETE Fretes PF 0,00 ADM.VENDAS 2015 1 FRETE Fretes CVLOG 0,00 ADM.VENDAS 2015 1 FRETE Seguro de carga 0,00 ADM.VENDAS 2015 1 FRETE Guincho/Munck 0,00 ADM.VENDAS 2015 1 SERVICO3 Alugueis de maquinas e equipamentos 0,00 ADM.VENDAS 2015 1 SERVICO3 Energia eletrica 0,00 ADM.VENDAS 2015 1 SERVICO3 Agua e esgoto 0,00 ADM.VENDAS 2015 1 SERVICO3 Telefone fixo 0,00 ADM.VENDAS 2015 1 SERVICO3 Telefone movel 0,00 ADM.VENDAS 2015 1 SERVICO3 Internet 0,00 ADM.VENDAS 2015 1 SERVICO3 Despesas c/ creditos e cobrancas 0,00 ADM.VENDAS 2015 1 SERVICO3 Despesas Juridicas 0,00 ADM.VENDAS 2015 1 SERVICO3 Despesas c/ cartorio 0,00 ADM.VENDAS 2015 1 SERVICO3 Correios 0,00 ADM.VENDAS 2015 1 SERVICO3 Lanches 0,00 ADM.VENDAS 2015 1 SERVICO3 Contratacao de Servicos Gerais 0,00 ADM.VENDAS 2015 1 SERVICO3 Manutencao maquinas moveis e equiptos. 0,00 ADM.VENDAS 2015 1 SERVICO3 Despesas c/ viagens e estadiais 0,00 ADM.VENDAS 2015 1 SERVICO3 Assinaturas de jornais e revistas 0,00 ADM.VENDAS 2015 1 SERVICO3 Despesas com Consultoria 0,00 ADM.VENDAS 2015 1 SERVICO3 Manutencao de Sistemas 0,00 ADM.VENDAS 2015 1 PERDA Provisao de creditos nao recebiveis 0,00 ADM.VENDAS 2015 1 PERDA Multas 0,00 ADM.VENDAS 2015 1 PERDA Indenizacoes Processuais 0,00 ADM.VENDAS 2015 1 PERDA Perdas 0,00 ADM.VENDAS 2015 1 DESP_SERV Material de uso e consumo na oficina 0,00 ADM.VENDAS 2015 1 DESP_SERV Pecas utilizadas em servicos 0,00 ADM.VENDAS 2015 1 DESP_SERV Pecas aplicadas 0,00 ADM.VENDAS 2015 1 DESP_SERV Despesas com ferramentas 0,00 ADM.VENDAS 2015 1 DESP_SERV Outros custos sobre servicos/compras 0,00 ADM.VENDAS 2015 1 DESP_SERV Servicos Internos Aplicados 0,00 ADM.VENDAS 2015 1 OUTROS Material de limpeza 0,00 ADM.VENDAS 2015 1 OUTROS Material de escritorio 0,00 ADM.VENDAS 2015 1 OUTROS Material de informatica 0,00 ADM.VENDAS 2015 1 OUTROS Despesas com consorcios 0,00 ADM.VENDAS 2015 1 OUTROS Despesas com acao social e doacoes 0,00 ADM.VENDAS 2015 1 ATIVOS Ativos e Investimentos 0,00 ADM.VENDAS 2015 1 DESP_FIN Tarifas Bancarias 0,00 ADM.VENDAS 2015 1 DESP_FIN Juros Pagos 0,00 ADM.VENDAS 2015 1 DESP_FIN Descontos Concedidos 0,00 ADM.VENDAS 2015 1 DESP_FIN Taxa Flat 0,00 ADM.VENDAS 2015 1 REC_FIN Descontos Obtidos 0,00 ADM.VENDAS 2015 1 REC_FIN Juros Recebidos 0,00 ADM.VENDAS 2015 1 REC_FIN Rendimentos 0,00 ADM.VENDAS 2015 2 PESSOAL Salarios Gratificacao e Bonus 0,00 ADM.VENDAS 2015 2 PESSOAL Horas Extras 0,00 ADM.VENDAS 2015 2 PESSOAL Comissoes Mistas 0,00 ADM.VENDAS 2015 2 PESSOAL Premiacao sob metas 0,00 ADM.VENDAS 2015 2 PESSOAL Ajuda de Custo 0,00 ADM.VENDAS 2015 2 PESSOAL Comissoes 100% 0,00 ADM.VENDAS 2015 2 PESSOAL Estagio 0,00 ADM.VENDAS 2015 2 PESSOAL Representantes Comerciais 0,00 ADM.VENDAS 2015 2 ENCARGOS FGTS 0,00 ADM.VENDAS 2015 2 ENCARGOS INSS 0,00 ADM.VENDAS 2015 2 ENCARGOS Ferias + 1/3 0,00 ADM.VENDAS 2015 2 ENCARGOS 13 Salario 0,00 ADM.VENDAS 2015 2 ENCARGOS Indenizacoes 0,00 ADM.VENDAS 2015 2 BENEFICIOS Vale Transporte 0,00 ADM.VENDAS 2015 2 BENEFICIOS Alimentacao 0,00 ADM.VENDAS 2015 2 BENEFICIOS Assistencia medica e odont. 0,00 ADM.VENDAS 2015 2 BENEFICIOS Bolsa de estudo 0,00 ADM.VENDAS 2015 2 BENEFICIOS Uniformes/EPI 0,00 ADM.VENDAS 2015 2 BENEFICIOS Seguro de vida 0,00 ADM.VENDAS 2015 2 BENEFICIOS Cursos e treinamentos 0,00 ADM.VENDAS 2015 2 DESP_IMOVEL Aluguel de Imovel 0,00 ADM.VENDAS 2015 2 DESP_IMOVEL Iptu 0,00 ADM.VENDAS 2015 2 DESP_IMOVEL Seguro Imobiliario 0,00 ADM.VENDAS 2015 2 DESP_IMOVEL Manutencao Predial 0,00 ADM.VENDAS 2015 2 IMP_TAX Impostos taxas e alvaras 0,00 ADM.VENDAS 2015 2 IMP_TAX Contribuicao sindical e patronal 0,00 ADM.VENDAS 2015 2 IMP_TAX Contribuicao a entidade de classe 0,00 ADM.VENDAS 2015 2 IMP_TAX Publicacoes Contabeis 0,00 ADM.VENDAS 2015 2 PROMOCAO Anuncios publicacoes e propaganda 0,00 ADM.VENDAS 2015 2 PROMOCAO Eventos feiras e divulgacoes com clientes 0,00 ADM.VENDAS 2015 2 PROMOCAO Bonificacoes Concedidas 0,00 ADM.VENDAS 2015 2 DESP_VEIC Ipva/Dpvat/Taxa Licenciamento/Despachante 0,00 ADM.VENDAS 2015 2 DESP_VEIC Alugueis de veiculos 0,00 ADM.VENDAS 2015 2 DESP_VEIC Combustiveis e lubrificantes 0,00 ADM.VENDAS 2015 2 DESP_VEIC Seguro Veicular 0,00 ADM.VENDAS 2015 2 DESP_VEIC Manutencao Veicular Corretiva 0,00 ADM.VENDAS 2015 2 DESP_VEIC Manutencao Veicular Preventiva 0,00 ADM.VENDAS 2015 2 FRETE Fretes PJ 0,00 ADM.VENDAS 2015 2 FRETE Fretes PF 0,00 ADM.VENDAS 2015 2 FRETE Fretes CVLOG 0,00 ADM.VENDAS 2015 2 FRETE Seguro de carga 0,00 ADM.VENDAS 2015 2 FRETE Guincho/Munck 0,00 ADM.VENDAS 2015 2 SERVICO3 Alugueis de maquinas e equipamentos 0,00 ADM.VENDAS 2015 2 SERVICO3 Energia eletrica 0,00 ADM.VENDAS 2015 2 SERVICO3 Agua e esgoto 0,00 ADM.VENDAS 2015 2 SERVICO3 Telefone fixo 0,00 ADM.VENDAS 2015 2 SERVICO3 Telefone movel 0,00 ADM.VENDAS 2015 2 SERVICO3 Internet 0,00 ADM.VENDAS 2015 2 SERVICO3 Despesas c/ creditos e cobrancas 0,00 ADM.VENDAS 2015 2 SERVICO3 Despesas Juridicas 0,00 ADM.VENDAS 2015 2 SERVICO3 Despesas c/ cartorio 0,00 ADM.VENDAS 2015 2 SERVICO3 Correios 0,00 ADM.VENDAS 2015 2 SERVICO3 Lanches 0,00 ADM.VENDAS 2015 2 SERVICO3 Contratacao de Servicos Gerais 0,00 ADM.VENDAS 2015 2 SERVICO3 Manutencao maquinas moveis e equiptos. 0,00 ADM.VENDAS 2015 2 SERVICO3 Despesas c/ viagens e estadiais 0,00 ADM.VENDAS 2015 2 SERVICO3 Assinaturas de jornais e revistas 0,00 ADM.VENDAS 2015 2 SERVICO3 Despesas com Consultoria 0,00 ADM.VENDAS 2015 2 SERVICO3 Manutencao de Sistemas 0,00 ADM.VENDAS 2015 2 PERDA Provisao de creditos nao recebiveis 0,00 ADM.VENDAS 2015 2 PERDA Multas 0,00 ADM.VENDAS 2015 2 PERDA Indenizacoes Processuais 0,00 ADM.VENDAS 2015 2 PERDA Perdas 0,00 ADM.VENDAS 2015 2 DESP_SERV Material de uso e consumo na oficina 0,00 ADM.VENDAS 2015 2 DESP_SERV Pecas utilizadas em servicos 0,00 ADM.VENDAS 2015 2 DESP_SERV Pecas aplicadas 0,00 ADM.VENDAS 2015 2 DESP_SERV Despesas com ferramentas 0,00 ADM.VENDAS 2015 2 DESP_SERV Outros custos sobre servicos/compras 0,00 ADM.VENDAS 2015 2 DESP_SERV Servicos Internos Aplicados 0,00 ADM.VENDAS 2015 2 OUTROS Material de limpeza 0,00 ADM.VENDAS 2015 2 OUTROS Material de escritorio 0,00 ADM.VENDAS 2015 2 OUTROS Material de informatica 0,00 ADM.VENDAS 2015 2 OUTROS Despesas com consorcios 0,00 ADM.VENDAS 2015 2 OUTROS Despesas com acao social e doacoes 0,00 ADM.VENDAS 2015 2 ATIVOS Ativos e Investimentos 0,00 ADM.VENDAS 2015 2 DESP_FIN Tarifas Bancarias 0,00 ADM.VENDAS 2015 2 DESP_FIN Juros Pagos 0,00 ADM.VENDAS 2015 2 DESP_FIN Descontos Concedidos 0,00 ADM.VENDAS 2015 2 DESP_FIN Taxa Flat 0,00 ADM.VENDAS 2015 2 REC_FIN Descontos Obtidos 0,00 ADM.VENDAS 2015 2 REC_FIN Juros Recebidos 0,00 ADM.VENDAS 2015 2 REC_FIN Rendimentos 0,00 

dput文件太大,无法在这里发布,所以我上传到谷歌驱动器。 JSON文件中的数组是特定年份中每个月的特定费用的集合。

我试过的:在线转换,excel公式,通过R库(如JSONLite,RJson等)直接导出到JSON没有得到任何closures。

任何想法,我可以尝试?

大多数R JSON包将输出一个像这样的JSON结构,如果给定一个R嵌套列表对象的格式正确。

为了找出正确的格式,请取出您的示例数据,并使用R JSON包进行读取。 检查它。

现在使用您的R技能将您的数据框重新组合成列表格式。 像dplyr这样的工具可能会有帮助。

您的数据需要采用类似的格式

 list(CC= list( "2013"= list( "1" = list("PESSOAL" = list(........), ), "2014" = list(... ... and so on ... ) ) 

您可能会发现最简单的方法是将任务分解为可嵌套的块,即对于结构的每个嵌套部分。 如果你不给我们有代表性的input和输出样本,那么在你不需要编码的情况下,你可能不需要编写任何神奇的R代码。