Remarque: Ceci est une note pour les débutants en Python.
J'ai converti xlsx
en JSON
en utilisant un plugin appelé ʻexcel2json` en Python.
ʻExcel2json` a des fonctionnalités limitées, il convertit simplement les données Excel en JSON. Étant donné que le document décrit uniquement comment convertir, il ne semble y avoir aucun paramètre particulier.
Comme vous pouvez le voir sur le site de référence, il y avait un moyen d'utiliser Pandas
, mais cette fois je voulais que la méthode de conversion soit bonne, alors j'ai essayé d'utiliser ʻexcel2json`. Il semble que les entiers soient également convertis en nombres à virgule flottante. Veuillez également visiter les sites suivants.
référence:
import excel2json
xlsx_path = 'C:/Users/username/Documents/xlsx_files/hoge.xlsx'
excel2json.convert_from_file(xlsx_path)
# --> C:/Users/username/Documents/xlsx_files/Sheet1.json est sorti
Le nom de la feuille Excel devient le nom du fichier de sortie tel quel. Je voulais être honnête avec la spécification du nom du fichier de sortie. Cette spécification ne peut être utilisée qu'à des fins limitées ...
Je voulais pouvoir exporter un fichier Excel à partir d'un logiciel d'analyse en ligne de mire appelé Tobii et analyser les données en ligne de mire avec mon propre programme. Je voulais donc convertir plusieurs fichiers Excel en sortie du logiciel en JSON en même temps. Pour le moment, j'ai également mis le code pour la conversion simultanée.
Lors de la conversion de plusieurs fichiers dans une boucle, il essaie toujours d'écraser le fichier JSON créé (même nom), il doit donc être renommé à chaque fois. S'il y a plusieurs feuilles, Sheet2.json
apparaîtra, vous devez donc prendre des mesures.
Dans mon cas, il n'y avait qu'une seule feuille nommée «Data», ce qui est suffisant pour les spécifications.
import excel2json
import pathlib
import os
from halo import Halo
from shutil import move
spinner = Halo(spinner='dots') #Tour et tour de l'écran de chargement
path = 'C:/Users/username/Documents/xlsx_files' #chemin contenant les fichiers xlsx
xlsx_files = list(pathlib.Path(path).glob('*.xlsx')) #Faire une liste de fichiers xlsx
for i in xlsx_files:
xlsx_path = '%s/%s' % (path, i.name) #chemin et nom du fichier xlsx
json_path = '%s/output/%s.json' % (path, i.name[:-5]) #Chemin de destination de sortie du fichier json
if os.path.exists(json_path): #Ignorer si vous avez déjà un fichier json
print('Skip to %s' % i.name)
else:
try:
spinner.start('Converting: %s' % i.name)
excel2json.convert_from_file(xlsx_path) #Convertir en json
except Exception as inst: #Échec de la conversion
spinner.fail(inst)
else: #Conversion réussie
move('%s/Data.json' % path, json_path) #Data.Renommer et déplacer json
spinner.succeed('Success: %s.json' % i.name[:-5])
référence:
Recommended Posts