Dessinez Nozomi Sasaki dans Excel avec python

【environnement】

windows8.1  Excel 2013  python2.7  opencv3

【Aperçu】

Obtenez des informations de couleur de la photo de Nozomi Sasaki et remplissez-les dans une cellule Excel.

[Structure des dossiers]

|---sasaki_excel       |---sasaki_excel.py | --- sasaki_nozomi.jpg (Image de Nozomi Sasaki) | --- sasaki_nozomi.xlsx (Excel pour le dessin)

J'ai utilisé cette image.  sasaki_nozomi.jpg

【programme】

sasaki_excel.py


# -*- coding:utf-8 -*-

import cv2
from openpyxl import load_workbook
from openpyxl.styles import PatternFill

#Chargement d'image
image = cv2.imread("sasaki_nozomi.jpg ")

#Lire le fichier Excel
wb = load_workbook(filename='sasaki_nozomi.xlsx')
#Sortez la feuille active
ws = wb.active

#Créer une liste d'alphabets en utilisant le code ASCII
# col_name = ['A','B',...,'Z']
col_name = [chr(i) for i in range(65,65+26)]

#Création d'une liste de noms de colonnes Excel
i = 0
for j in xrange(26, len(image[0])):
    #Concaténation d'alphabet
    col_name.append(col_name[i] + col_name[j % 26])
    if (j + 1) % 26 == 0:
        i += 1
    if len(col_name) == len(image[0]):
        break

    

for gyo in xrange(len(image)):
    for retu in xrange(len(image[gyo])):
        for rgb in xrange(len(image[gyo][retu])):
            
            #Convertir les valeurs rouge, verte et bleue en hexadécimal
            #En hexadécimal'0x**'Extrait les 2 derniers caractères car il est converti en
            red = hex(image[gyo][retu][0])[2:4]
            #Par exemple'0xc'Il existe également un nombre hexadécimal qui est converti en, donc concaténer 0
            if len(red) == 1:
                red = '0' + red
            green = hex(image[gyo][retu][1])[2:4]
            if len(green) == 1:
                green = '0' + green
            blue = hex(image[gyo][retu][2])[2:4]
            if len(blue) == 1:
                blue = '0' + blue
            
            #Modifier la largeur de la colonne et de la ligne
            ws.column_dimensions[col_name[retu]].width = 0.3
            ws.row_dimensions[retu].height = 1.5
            
            #Obtenez le nom de la cellule à remplir
            cell_name = col_name[retu] + str(gyo + 1)
            #Définir le nom de la cellule
            cell = ws[cell_name]
            #Concaténer les nombres hexadécimaux
            color = str(blue) + str(green) + str(red)
            #remplir
            cell.fill = PatternFill(patternType='solid', fgColor=color)

#Enregistrer le fichier Excel
wb.save('sasaki_nozomi.xlsx')

【résultat】

sasaki_nozomi.png

Je n'ai jamais collé l'image (rires) ~~ La largeur de la cellule a été ajustée manuellement. ~~ [2016.5.29 postscript] Ajustement de largeur de cellule intégré dans le programme plutôt que manuellement

En tant qu'application de ce programme, vous pouvez rechercher des erreurs en comparant les couleurs des cellules de deux images.

[Site de référence]

[Openpyxl pour jouer avec des fichiers Excel à partir de Python](http://pepper.is.sci.toho-u.ac.jp/index.php?%A5%CE%A1%BC%A5%C8%2FPython%A4%AB % A4% E9Excel% A5% D5% A5% A1% A5% A4% A5% EB% A4% F2% A4% A4% A4% B8% A4% EBopenpyxl) Table de codes Ascii

[Autre version linguistique]

Cliquez ici pour la version Node.js Cliquez ici pour la version Ruby

Recommended Posts

Dessinez Nozomi Sasaki dans Excel avec python
Excel avec Python
Gérez Excel avec python
Programmation Python avec Excel
Dessiner un graphique avec python
Utiliser Excel avec Python (1)
Utiliser Excel avec Python (2)
Envoyer un e-mail avec Excel en pièce jointe en Python
Exploitez Excel avec Python open pyxl
Grattage au sélénium en Python
Dessiner une forme d'onde mp3 en Python
Exploitez LibreOffice avec Python
Grattage avec chromedriver en python
Débogage avec pdb en Python
Dessiner un fichier netCDF avec python
Dessinez le disque de Poancare en Python
Gérer les sons en Python
Grattage avec du sélénium en Python
Grattage avec Tor en Python
Tweet avec image en Python
Dessiner "Dessiner une fougère par programme" en Python
Combiné avec ordinal en Python
Dessiner la fonction Yin en python
Dessinez un cœur en Python
Dessinez des ondes sinusoïdales avec Blender Python
Reconnaissance des nombres dans les images avec Python
solveur> Lien> Résoudre le solveur Excel avec python
Tester avec des nombres aléatoires en Python
GOTO en Python avec Sublime Text 3
Travailler avec LibreOffice en Python: import
Scraping avec Selenium en Python (Basic)
Dessinez des nœuds de manière interactive avec Plotly (Python)
Analyse CSS avec cssutils en Python
Dessinez une matrice de diagramme de dispersion avec python
Numer0n avec des objets fabriqués avec Python
Ouvrez UTF-8 avec BOM en Python
Jouons avec Excel avec Python [Débutant]
Utiliser rospy avec virtualenv dans Python3
Dessinez une courbe Koch avec Python Turtle
Gérer les fichiers Excel CSV avec Python
Utiliser Python mis en pyenv avec NeoVim
Heatmap avec dendrogramme en Python + matplotlib
Lire des fichiers en parallèle avec Python
Générer un mot de passe pour le manuel avec python
Utiliser OpenCV avec Python 3 dans Window
Dessinez une illustration avec Python + OpenCV
Jusqu'à traiter de python dans Atom
Dessinez un diagramme CNN en Python
le codeur Web a essayé d'exceller en Python
Dessinez Riapnov Fractal avec Python, matplotlib
Démarrez avec Python avec Blender
Travailler avec des images DICOM en Python
Dessinez une flèche (vecteur) avec opencv / python
Dessinez une illusion d'aquarelle avec détection des contours en Python3 et openCV3
Écrire de la documentation dans Sphinx avec Python Livereload
Obtenez des données supplémentaires vers LDAP avec python
Essayez de vous connecter à qiita avec Python
Test de stress avec Locust écrit en Python