Hinweis: Dies ist ein Hinweis für Python-Anfänger.
Ich habe "xlsx" mit einem Plugin namens "excel2json" in Python in "JSON" konvertiert.
Die Funktionalität von excel2json
ist begrenzt, es werden nur Excel-Daten in JSON konvertiert. Da das Dokument nur die Konvertierung beschreibt, scheint es keine bestimmte Einstellung zu geben.
Wie Sie auf der Referenzseite sehen können, gab es eine Möglichkeit, "Pandas" zu verwenden, aber dieses Mal wollte ich, dass die Konvertierungsmethode gut ist, also habe ich versucht, "excel2json" zu verwenden. Es scheint, dass Ganzzahlen auch in Gleitkommazahlen umgewandelt werden. Bitte besuchen Sie auch die folgenden Websites.
Referenz:
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 wird ausgegeben
Der Name der Excel-Tabelle wird unverändert zum Namen der Ausgabedatei. Ich wollte ehrlich mit der Spezifikation des Ausgabedateinamens sein. Diese Spezifikation darf nur für begrenzte Zwecke verwendet werden ...
Ich wollte in der Lage sein, eine Excel-Datei aus einer Sichtlinien-Analyse-Software namens Tobii zu exportieren und die Sichtlinien-Daten mit meinem eigenen Programm zu analysieren. Daher wollte ich mehrere von der Software ausgegebene Excel-Dateien gleichzeitig in JSON konvertieren. Vorerst habe ich auch den Code für die gleichzeitige Konvertierung eingefügt.
Beim Konvertieren mehrerer Dateien in einer Schleife wird immer versucht, die erstellte JSON-Datei (gleicher Name) zu überschreiben, sodass sie jedes Mal umbenannt werden muss. Wenn mehrere Blätter vorhanden sind, wird "Sheet2.json" angezeigt, sodass Sie Maßnahmen ergreifen müssen. In meinem Fall gab es nur ein Blatt mit dem Namen "Daten", was für die Spezifikationen ausreicht.
import excel2json
import pathlib
import os
from halo import Halo
from shutil import move
spinner = Halo(spinner='dots') #Rund und rund um den Ladebildschirm
path = 'C:/Users/username/Documents/xlsx_files' #Pfad mit XLSX-Dateien
xlsx_files = list(pathlib.Path(path).glob('*.xlsx')) #Erstellen Sie eine Liste der XLSX-Dateien
for i in xlsx_files:
xlsx_path = '%s/%s' % (path, i.name) #Pfad und Name der XLSX-Datei
json_path = '%s/output/%s.json' % (path, i.name[:-5]) #Ausgabezielpfad der JSON-Datei
if os.path.exists(json_path): #Überspringen, wenn Sie bereits eine JSON-Datei haben
print('Skip to %s' % i.name)
else:
try:
spinner.start('Converting: %s' % i.name)
excel2json.convert_from_file(xlsx_path) #In json konvertieren
except Exception as inst: #Konvertierungsfehler
spinner.fail(inst)
else: #Erfolgreiche Konvertierung
move('%s/Data.json' % path, json_path) #Data.Benennen Sie json um und verschieben Sie es
spinner.succeed('Success: %s.json' % i.name[:-5])
Referenz:
Recommended Posts