[PYTHON] Excel a essayé d'invoquer le code QR avec la magie noire

Un jour

Je serai un artisan du copier-coller ╭ (・ ㅂ ・) و ̑̑ Bien!

╰ (`• ω •) ╮- = ni <Il est difficile de faire diverses choses à partir du site de création de code QR gratuit Je ne peux pas créer un site Web qui définit des paramètres et génère un code QR (꒪ ཫ ꒪;)

Conditions préalables

Environnement de développement

article version Remarques
Python 3.7.5

Package d'installation

article version Remarques
pandas --- Utilisé pour lire les fichiers Excel
xlrd --- Requis pour charger Excel dans les pandas
PyInstaller --- conversion exe
qrcode --- Génération de code QR
Pillow --- création d'image png

Installation de package en vrac

Utilisé pour aligner l'environnement

requirements.txt


altgraph==0.17
colorama==0.4.3
future==0.18.2
numpy==1.19.0
pandas==1.0.5
pefile==2019.4.18
Pillow==7.1.2
pip==19.2.3
PyInstaller==3.6
python-dateutil==2.8.1
pytz==2020.1
pywin32-ctypes==0.2.0
qrcode==6.1
setuptools==41.2.0
six==1.15.0
xlrd==1.2.0

Création d'environnement

  1. Créer un environnement virtuel
  1. Ajoutez requirements.txt à votre projet
  2. Cliquez avec le bouton droit sur l'environnement virtuel créé -> cliquez sur Installer à partir de requirements.txt 31fd5512-c90b-4d64-8557-74f405923245-960x607r.png

Données Excel

ab36a8f2-c3ae-4656-b023-4d21fb7b7f3b-960x107r.png

code

  1. Convertissez les informations de cellule en chaîne de caractères, déterminez un délimiteur et concaténez
  2. Convertissez la chaîne en base64
  3. Code QR de la chaîne base64

ExcelToQRCode.py


import sys
import os
import pandas as pd
import qrcode
import base64

def main():
	#Arguments de ligne de commande
	args = sys.argv
	#Ne pas traiter si moins de 2 arguments
	if len(args) < 2:
		exit()

	#Jugement de fichier Excel
	split = os.path.splitext(args[1])
	if split[1] != '.xlsx':
		exit()

	#Obtenez la première feuille
	excel_data = pd.read_excel(args[1], sheet_name = 0, encoding='utf-8')

	param_list = []
	for i, row in excel_data.iterrows():
		if i > 0: 
			temp = ""
			for value in row.iloc[2:8]:
				temp += str(value) + '|'
			temp = temp[:-1]
			full_path = os.getcwd() +'\\' + row.iloc[1] + '.png'
			param_list.append((full_path, temp))

	for index in range(len(param_list)):
		image_qr = qrcode.make(base64.b64encode(param_list[index][1].encode('utf-8')))
		image_qr.save(param_list[index][0])

	if len(param_list) < 1:
		print("Il n'y avait pas de code QR à créer")
	else:
		print("J'ai créé un code QR")

if __name__ == '__main__':
	main()

conversion exe

Tapez la commande suivante pour le rendre exe La taille du fichier exe devient grande, mais je ferme les yeux (˘ω˘)

python


pyinstaller hoge.py --onefile --noconsole

Comment utiliser

Faites glisser et déposez le fichier xlsx vers l'exe

Code à lire

Utility.cs


public static class Utility
{
    public static string Base64Decode(string value)
    {
        return System.Text.Encoding.UTF8.GetString(System.Convert.FromBase64String(value));
    }

    public static List<string> GetQRCordData(string value)
    {
        string data = Utility.Base64Decode(value);
        return new List<string>(data.Split(new[] { "|" }, System.StringSplitOptions.None));
    }
}

Recommended Posts

Excel a essayé d'invoquer le code QR avec la magie noire
Commande pour générer un code QR
Décrypter le code QR avec CNN
J'ai essayé d'obtenir le code d'authentification de l'API Qiita avec Python.
J'ai essayé d'implémenter Autoencoder avec TensorFlow
J'ai essayé de visualiser AutoEncoder avec TensorFlow
J'ai essayé de commencer avec Hy
Convertir des données Excel en JSON avec python
J'ai essayé d'implémenter CVAE avec PyTorch
J'ai essayé de résoudre TSP avec QAOA
J'ai essayé de rendre mon propre code source compatible avec Chainer v2 alpha
J'ai essayé de prédire l'année prochaine avec l'IA
J'ai essayé d'implémenter la lecture de Dataset avec PyTorch
J'ai essayé d'utiliser lightGBM, xg boost avec Boruta
J'ai essayé d'apprendre le fonctionnement logique avec TF Learn
J'ai essayé de déplacer GAN (mnist) avec keras
Un débutant en Python a essayé de coder une boisson énergisante
J'ai essayé de sauvegarder les données avec discorde
J'ai essayé de détecter rapidement un mouvement avec OpenCV
J'ai essayé d'intégrer Keras dans TFv1.1
J'ai essayé Flask avec des conteneurs distants de VS Code
[Python] Comment lire des fichiers Excel avec des pandas
J'ai essayé d'obtenir des données CloudWatch avec Python
J'ai essayé de sortir LLVM IR avec Python
J'ai essayé de détecter un objet avec M2Det!
J'ai essayé d'automatiser la fabrication des sushis avec python
J'ai essayé de prédire la survie du Titanic avec PyCaret
J'ai essayé d'utiliser Linux avec Discord Bot
J'ai essayé d'étudier DP avec séquence de Fibonacci
J'ai essayé de démarrer Jupyter avec toutes les lumières d'Amazon
J'ai essayé de juger Tundele avec Naive Bays
J'ai étudié comment rationaliser le flux de travail avec Excel x Python ②
J'ai essayé de créer un environnement avec WSL + Ubuntu + VS Code dans un environnement Windows
J'ai étudié comment rationaliser le flux de travail avec Excel x Python ④
J'ai essayé de savoir comment rationaliser le flux de travail avec Excel x Python ⑤
J'ai étudié comment rationaliser le flux de travail avec Excel x Python ①
J'ai étudié comment rationaliser le flux de travail avec Excel x Python ③