Domanda

Ho questa tabella di Excel:

country     year    1       2       3       4

Netherlands 1970    3603    4330    5080    5820
Netherlands 1971    3436    4165    4929    5693
Netherlands 1972    3384    4122    4899    5683
Sweden       1970    1479    1963    2520    3132
Sweden       1971    1497    1985    2547    3163
Sweden       1972    1419    1894    2445    3055

Vorrei sperimentare con due formati JSON. O:

data = [
   Netherlands : {
      1970 : [3603, 4330, 5080, 5820],
      1971 : [...],
   },
   Sweden : {
      1970 : [...]
   },
]

o utilizzando le intestazioni 1,2,3,4 come valori x:

data = [
   Netherlands : {
      1970 : [{x: 1, y: 3603}, {x: 2, y: 4330}, {x: 3, y: 5080}, {x: 4, y: 5820}],
      1971 : [...],
   },
   Sweden : {
      1970 : [...]
   },
]

Come faccio a ottenere facilmente da Excel ai miei formati JSON preferiti?

Si prega di suggerire metodi specifici per questa trasformazione, nonché strumenti di conversione di dati generici come l'eccellente Signor Data Converter Google Refine .

Grazie!

È stato utile?

Soluzione

È possibile scaricare un insieme di classi che convertono i dati di Excel a JSON da qui. http://ramblings.mcpher.com/Home/excelquirks/downloadlist . Il progetto che si desidera è 'classi di manipolazione dei dati'.

Utilizzando queste classi, questo codice

Option Explicit
Public Sub mainExample()
    Dim dSet As cDataSet

    Set dSet = New cDataSet
    With dSet
        .populateData Range("data!$a$1"), , , , , , True

        If .Where Is Nothing Then
            MsgBox ("No data to process")
        Else
            MsgBox .jSonObject
        End If
    End With

End Sub

è tutti i thats necessari per produrre questo dai dati.

{  "data": {
        "country": "Sweden",
        "year": "1972",
        "1": "1419",
        "2": "1894",
        "3": "2445",
        "4": "3055"
  }
}

Si può fare cose più complesse, o su misura l'uscita, dopo aver letto questo articolo su come funziona. http://ramblings.mcpher.com/Home/excelquirks / recursionlink / nascondiglio data-in-excel-oggetti

Bruce

Altri suggerimenti

A volte basta usare semplice concatanation stringa per generare istruzioni SQL, che si potrebbe fare qualcosa di simile:

=A2 + ": { " + A3 + ", " + A4 + ", " + A5 + ", " + A... +"}"

Che avvolge all'interno data = [], o utilizzare una formula di fantasia .. Per la seconda parte si deve bloccare la fila con $ A1

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top