Convertit un fichier Excel en fichier texte. Le but est de faire une différence avec cli.
Vous n'avez pas besoin de pouvoir restaurer le contenu Excel à partir d'un fichier texte à des fins de comparaison. Si vous utilisez CSV, il est très difficile de voir la différence sur la ligne de commande même si une ligne devient longue et diffs, donc je veux faire une ligne pour chaque cellule.
Je n'ai pas trouvé d'outil qui semblait pratique, et c'était plus rapide d'écrire un script, alors je l'ai écrit.
Utilisez une bibliothèque appelée openpyxl en Python.
$ pip install openpyxl
C'est le seul code source.
import sys
import openpyxl
filepath = sys.argv[1]
sheetname = ""
if len(sys.argv) > 2:
sheetname = sys.argv[2]
wb = openpyxl.load_workbook(filepath)
for ws in wb:
if sheetname != "" and ws.title != sheetname:
continue
print(f"sheet:{ws.title}")
for row in ws:
print(" row")
for cell in row:
if cell.value == None:
print("")
else:
print(f" {cell.value}")
Si vous l'enregistrez sous un nom tel que «xls2txt.py», le contenu de toutes les feuilles incluses dans le fichier Excel sera affiché sous forme de texte ci-dessous.
$ python xls2txt.py foo.xls
Si vous souhaitez afficher uniquement une feuille spécifique, spécifiez le nom de la feuille.
$ python xls2txt.py foo.xls Sheet1
Pour voir le diff, par exemple, cela ressemble à ceci:
$ diff -U5 <(python xls2txt.py foo.xls Sheet1) <(python xls2txt.py bar.xls Sheet1) | less
Voyez ici si vous voulez rendre la différence plus facile à voir. Comment afficher la commande diff en couleur pour la rendre plus facile à voir
Recommended Posts