Créer un fichier Excel avec Python + matrice de similarité

introduction

Il existe plusieurs bibliothèques pour créer des fichiers Excel avec Python, mais XlsxWriter est recommandé pour les raisons suivantes.

Installation

$ pip install xlsxwriter

Utilisation de base

Exemple officiel traduit en japonais le cas échéant

Si tu écris comme ça

xlsxwriter_demo.py


#Créer de nouveaux fichiers et feuilles de calcul
workbook = xlsxwriter.Workbook('demo.xlsx')
worksheet = workbook.add_worksheet()

#Changer la largeur de la colonne A
worksheet.set_column('A:A', 20)

#Ajout d'un format pour le rendre gras
bold = workbook.add_format({'bold': True})

#Rédaction de texte
worksheet.write('A1', 'Hello')

#Écrire du texte et appliquer la mise en forme
worksheet.write('A2', 'World', bold)

#Écrire une valeur numérique (spécifier l'adresse de la cellule avec une valeur numérique)
worksheet.write(2, 0, 123)
worksheet.write(3, 0, 123.456)

#Insérer une image
worksheet.insert_image('B5', 'logo.png')

workbook.close()

Sera comme ça

demo.png

Créer une matrice de similarité

Juste une note personnelle d'ici.

Peut-être que vous pouvez le faire avec numpy, scipy, matplotlib, mais celui qui m'est venu à l'esprit était xlsxwriter. La source résultante ressemble à ceci.

sim_matrix.py


# -*- coding: utf-8 -*-
import xlsxwriter
from xlsxwriter.utility import xl_rowcol_to_cell, xl_range_abs

#Créer des classeurs et des feuilles de calcul
wb = xlsxwriter.Workbook("sim_matrix.xlsx")
ws = wb.add_worksheet("similarity matrix")

#Définir la taille de la cellule de données
for i in range(5):
    ws.set_row(i, 40.5)
    ws.set_column(i, i, 6.0)

#Saisie des données
data = [[1.00, 0.15, 0.09, 0.01, 0.02],
        [0.15, 1.00, 0.12, 0.06, 0.03],
        [0.09, 0.12, 1.00, 0.08, 0.01],
        [0.01, 0.06, 0.08, 1.00, 0.05],
        [0.02, 0.03, 0.01, 0.05, 1.00]]
for i in range(5):
    for j in range(5):
        ws.write_number(i, j, data[i][j])

#Trouvez les valeurs maximale et minimale à l'exclusion des éléments diagonaux à l'aide d'une formule matricielle
data_field = xl_range_abs(0, 0, 4, 4)
ws.write_string(0, 6, "max sim")
max_formula = '{{=MAX(IF(ROW({0})=COLUMN({0}),"",{0}))}}'.format(data_field)
ws.write_formula(0, 7, max_formula)
ws.write_string(1, 6, "min sim")
min_formula = '{{=MIN(IF(ROW({0})=COLUMN({0}),"",{0}))}}'.format(data_field)
ws.write_formula(1, 7, min_formula)

#Appliquer une échelle de couleurs à l'aide de la mise en forme conditionnelle
max_cell = xl_rowcol_to_cell(0, 7, row_abs=True, col_abs=True)
min_cell = xl_rowcol_to_cell(1, 7, row_abs=True, col_abs=True)
props = {
    "type": "2_color_scale",
    "max_color": "#FF6347", # tomato
    "min_color": "#FFFFE0", # lightyellow
    "max_type": "formula",
    "min_type": "formula",
    "max_value": max_cell,
    "min_value": min_cell}
ws.conditional_format(0, 0, 4, 4, props)

#l'écriture
wb.close()

Un tel fichier est sorti.

xlsxwriter_sim_matrix.png

Recommended Posts

Créer un fichier Excel avec Python + matrice de similarité
Créez rapidement un fichier Excel avec Python #python
Excel avec Python
Gérez Excel avec python
Utiliser Excel avec Python (1)
Utiliser Excel avec Python (2)
[Python] Comment lire des fichiers Excel avec des pandas
Créer un fichier au format Photoshop (.psd) avec python
Exploitez Excel avec Python open pyxl
Créer un gif 3D avec python3
[Python] Créez un fichier de distribution pour le programme Tkinter avec cx_Freeze
Créer un répertoire avec python
Télécharger le fichier csv avec python
Créer un fichier xlsx avec XlsxWriter
Créer un fichier CAO 2D ".dxf" avec python [ezdxf]
[Python] Créez un écran de spécification de chemin de fichier et de dossier avec tkinter
[Python Kivy] Comment créer un fichier exe avec pyinstaller
Comment lire un fichier Excel (.xlsx) avec Pandas [Python]
solveur> Lien> Résoudre le solveur Excel avec python
Extraire le fichier xz avec python
Représentation matricielle avec entrée standard Python
Créer Awaitable avec l'API Python / C
[Python] Ecrire dans un fichier csv avec Python
[Automatisé avec python! ] Partie 1: fichier de configuration
Téléchargement de fichiers implémenté avec Python + Bottle
Sortie vers un fichier csv avec Python
Créez un environnement virtuel avec Python!
Jouons avec Excel avec Python [Débutant]
Gérer les fichiers Excel CSV avec Python
Trouver la similitude d'image avec Python + OpenCV
[Automatisé avec python! ] Partie 2: Fonctionnement des fichiers
Créer un téléchargeur de fichiers avec Django
Créer et renvoyer un fichier CSV CP932 pour Excel avec Chalice
Créer un décorateur de fonction Python avec Class
Contrôle exclusif avec fichier de verrouillage en Python
Créez wordcloud à partir de votre tweet avec python3
Lire le fichier CSV avec python (Télécharger et analyser le fichier CSV)
Créez une image factice avec Python + PIL.
Vérifier l'existence du fichier avec python
Dessinez Nozomi Sasaki dans Excel avec python
[Python] Créez un environnement virtuel avec Anaconda
Créons un groupe gratuit avec Python
Convertir des données Excel en JSON avec python
Lisons le fichier RINEX avec Python ①
Créer un environnement Python + uWSGI + Nginx avec Docker
Créer un gros fichier texte avec shellscript
[Easy Python] Lecture de fichiers Excel avec openpyxl
Créer un compteur de fréquence de mots avec Python 3.4
Créer un fichier deb à partir d'un package python
Enregistrer avec Python → Enregistrer le fichier (périphérique sonore + wave)
[GPS] Créer un fichier kml avec Python
[Python] Créez rapidement une API avec Flask
Générer une instance Excel compatible avec les compléments avec xlwings
Créez une application de mots anglais avec python
[Easy Python] Lecture de fichiers Excel avec des pandas