Question

J'ai ce tableau 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

Je voudrais expérimenter deux formats JSON. Soit:

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

Ou en utilisant les en-têtes 1,2,3,4 comme valeurs x:

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

Comment puis-je obtenir facilement à partir d'Excel à mes formats JSON préférés?

S'il vous plaît suggérer des méthodes spécifiques pour cette transformation ainsi que des outils de conversion de données génériques comme l'excellent Mr Data Converter Google Affiner .

Merci!

Était-ce utile?

La solution

Vous pouvez télécharger un ensemble de classes qui convertissent les données Excel pour JSON d'ici. http://ramblings.mcpher.com/Home/excelquirks/downloadlist . Le projet que vous voulez est «cours de manipulation de données.

En utilisant ces classes, ce code

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

est tous les thats nécessaires pour produire ce à partir de vos données.

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

Vous pouvez faire plus de choses complexes, ou adapter la sortie, après avoir lu cet article sur la façon dont cela fonctionne. http://ramblings.mcpher.com/Home/excelquirks / recursionlink / cache-données-in-excel-objets

bruce

Autres conseils

Je parfois simplement utiliser simple chaîne concatanation pour générer des instructions SQL, devinez que vous pourriez faire quelque chose comme:

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

Que l'envelopper dans data = [], ou utiliser une formule de fantaisie .. Pour la deuxième partie, vous devez verrouiller la ligne avec $ A1

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top