Conversion par lots de fichiers Excel en JSON [Python]

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 ...

Conversion par lots de fichiers !!

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

Conversion par lots de fichiers Excel en JSON [Python]
Convertir des données Excel en JSON avec python
Convertir le «nombre» de date Excel en date / heure Python
Résumé de la façon d'importer des fichiers dans Python 3
Convertir json en Excel
[Python] J'ai essayé d'obtenir Json de squid ring 2
[Introduction à Python] Comment analyser JSON
Conversion MP3 → WAV avec Python
Gérer les fichiers Excel CSV avec Python
Résumé du comportement de conversion de go json
Journalisation Python et vidage vers json
Afficher les différences json de manière facile à lire
Conversion de la chaîne <-> date (date, datetime) en Python
[Python] Résumé de l'utilisation des pandas
Comparaison des modules de conversion japonais en Python3
Je veux convertir par lots le résultat de "chaîne de caractères" .split () en Python
Lire et écrire des fichiers JSON avec Python
Essayez d'utiliser Excel en utilisant Python (Xlwings)
[Easy Python] Lecture de fichiers Excel avec openpyxl
Lire et écrire des fichiers JSON avec Python
Je veux colorer une partie de la chaîne Excel avec Python
Python #JSON
[Easy Python] Lecture de fichiers Excel avec des pandas
[Bash] Redirection de plusieurs lignes vers plusieurs fichiers
Résumé de l'utilisation de la liste Python
[Python2.7] Résumé de l'utilisation du sous-processus
Pourquoi vous devriez utiliser urlopen au lieu d'urlretrieve pour télécharger des fichiers Python
[Python] Ajouter un commentaire au fichier d'entrée standard
[Introduction au Data Scientist] Bases de Python ♬
[Question] Comment utiliser plot_surface de python
Comment savoir quel type de fichier est stocké dans S3 en Python
Comment obtenir une liste de fichiers dans le même répertoire avec python
Modifier Excel à partir de Python pour créer un tableau croisé dynamique
[Introduction à Udemy Python3 + Application] 26. Copie du dictionnaire
Convertir le fichier FBX en ASCII <-> BINARY en Python
[Python] Comment utiliser deux types de type ()
Importer un fichier Excel depuis Python (enregistré dans DB)
[Introduction à Udemy Python3 + Application] 19. Copie de la liste
Comment créer un fichier JSON en Python
[Python] Comment lire des fichiers Excel avec des pandas
Comment générer un objet Python à partir de JSON
Résumé de l'utilisation de MNIST avec Python
Lire et écrire des fichiers CSV et JSON avec Python
[Introduction à Python] Comment gérer les données au format JSON
Convertir des fichiers CSV UTF-8 pour les lire dans Excel
Comment spécifier des attributs avec Mock of Python
Excel X Python La technique de travail la plus rapide
Comment obtenir des éléments de type dictionnaire de Python 2.7
Comparaison simple des bibliothèques Python qui exploitent Excel
Conversion par lots de fichiers PSD du répertoire en PDF
Télécharger des fichiers sur Google Drive avec Lambda (Python)
Vitesse: ajouter un élément à la fin du tableau Python
Résumé de l'étude de Python pour utiliser AWS Lambda
Liste de code Python à déplacer et à mémoriser
Résumé des opérations Excel utilisant OpenPyXL en Python
[Introduction à Python] Utilisation de base des expressions lambda
Mis à jour vers Python 2.7.9