ODS file to JSON
je voudrais convertir mon speadsheet de données en un tableau JSON de tableau.
Ce site faire: http://www.shancarter.com/data_converter/index.html Et j'ai regardé dans le code source.
mais ce que je voudrais c'est une macro / script / extension ou n'importe quelle façon de le programmer pour convertir my .ods en un fichier JSON:
Comme:
NAME VALUE COLOR DATE
Alan 12 blue Sep. 25, 2009
Shan 13 "green blue" Sep. 27, 2009
John 45 orange Sep. 29, 2009
Minna 27 teal Sep. 30, 2009
À:
[
["Alan",12,"blue","Sep. 25, 2009"],
["Shan",13,"greentblue","Sep. 27, 2009"],
["John",45,"orange","Sep. 29, 2009"],
["Minna",27,"teal","Sep. 30, 2009"]
]
2 réponses
la réponse pourrait être de nouveau en retard mais marcoconti83 a fait exactement cela: lire un fichier ods et les retourner sous forme de tableaux bidimensionnels.
https://github.com/marcoconti83/read-ods-with-odfpy/blob/master/ODSReader.py
une Fois que vous avez les données dans des tableaux, il n'est pas difficile de les obtenir dans un fichier json. Voici un exemple de code:
import json
from odftoarray import ODSReader # renamed the file to odftoarray.py
r = ODSReader("your_file.ods")
arrays = r.getSheet("your_data_sheet_name")
json.dumps(arrays)
C'est peut-être un peu tard mais pour ceux qui viennent chercher et qui veulent le faire, il serait probablement préférable de sauver le .fichier ods .csv que presque tous les programmes de tableur peuvent faire. Puis utilisez quelque chose comme ceci pour le convertir:
import csv
import sys
import json, os
def convert(csv_filename, fieldnames):
print ("Opening CSV file: ",csv_filename)
f=open(csv_filename, 'r')
csv_reader = csv.DictReader(f,fieldnames)
json_filename = csv_filename.split(".")[0]+".json"
print ("Saving JSON to file: ",json_filename)
jsonf = open(json_filename,'w')
data = json.dumps([r for r in csv_reader])
jsonf.write(data)
f.close()
jsonf.close()
csvfile = ('path/to/the/csv/file.csv')
field_names = [
"a",
"list",
"of",
"fieldnames"
]
convert(csvfile, field_names)
et un conseil, csv est assez humain lisible donc il suffit de passer et s'assurer qu'il a enregistré dans le format que vous voulez, puis exécuter ce script pour le convertir en JSON. Regardez dans un visualiseur JSON comme JSONView et alors vous devriez être bon à allez!