Excel X Python La technique de travail la plus rapide

L'ère VBA semble révolue

Récemment, un livre intitulé "Excel X Python Fastest Work Technique" a été vendu fin décembre 2019 et a remporté la première place dans le classement des livres du calcul de table d'Amazon. C'est incroyable parce qu'il se vend mieux que le manuel le plus puissant d'Excel! (La catégorie tabulaire est une catégorie assez populaire) Lien Amazon

Le cœur de ce livre est que ** faire quelque chose comme VBA de Python à Excel ** est la technique de travail la plus rapide. Cette fois, pour mon propre apprentissage, je vais vous présenter comment utiliser les classeurs Excel à partir de Python appris dans ce livre et faire des choses de type VBA.

Ce livre utilise systématiquement une bibliothèque appelée ** openpyxl ** pour faire fonctionner Excel.

Chargez un classeur. (Nouveau classeur)

import openpyxl
lwb = openpyxl.Workbook()
lsh = lwb.active #Charger la feuille pour écrire dans la cellule

Chargez l'Excel déjà créé

import openpyxl
wb = openpyxl.load_workbook('nom de fichier.xlsx')

Sauvegarder le document

import openpyxl
wb = openpyxl.load_workbook('nom de fichier.xlsx')
wb.save(filename = 'sample_book.xlsx')

Écrire dans la cellule

import openpyxl
lwb = openpyxl.Workbook()
lsh = lwb.active #Charger la feuille pour écrire dans la cellule
lsh.cell(Nombre de lignes,Le nombre de colonnes).value = "hogehoge"

Utiliser un graphique (graphique en courbes)

Je posterai le code de la source Lien source

from datetime import date

from openpyxl import Workbook
from openpyxl.chart import (
    LineChart,
    Reference,
)
from openpyxl.chart.axis import DateAxis

wb = Workbook()
ws = wb.active

rows = [
    ['Date', 'Batch 1', 'Batch 2', 'Batch 3'],
    [date(2015,9, 1), 40, 30, 25],
    [date(2015,9, 2), 40, 25, 30],
    [date(2015,9, 3), 50, 30, 45],
    [date(2015,9, 4), 30, 25, 40],
    [date(2015,9, 5), 25, 35, 30],
    [date(2015,9, 6), 20, 40, 35],
]

for row in rows:
    ws.append(row)

c1 = LineChart()
c1.title = "Line Chart"
c1.style = 13
c1.y_axis.title = 'Size'
c1.x_axis.title = 'Test Number'

data = Reference(ws, min_col=2, min_row=1, max_col=4, max_row=7)
c1.add_data(data, titles_from_data=True)

# Style the lines
s1 = c1.series[0]
s1.marker.symbol = "triangle"
s1.marker.graphicalProperties.solidFill = "FF0000" # Marker filling
s1.marker.graphicalProperties.line.solidFill = "FF0000" # Marker outline

s1.graphicalProperties.line.noFill = True

s2 = c1.series[1]
s2.graphicalProperties.line.solidFill = "00AAAA"
s2.graphicalProperties.line.dashStyle = "sysDot"
s2.graphicalProperties.line.width = 100050 # width in EMUs

s2 = c1.series[2]
s2.smooth = True # Make the line smooth

ws.add_chart(c1, "A10")

from copy import deepcopy
stacked = deepcopy(c1)
stacked.grouping = "stacked"
stacked.title = "Stacked Line Chart"
ws.add_chart(stacked, "A27")

percent_stacked = deepcopy(c1)
percent_stacked.grouping = "percentStacked"
percent_stacked.title = "Percent Stacked Line Chart"
ws.add_chart(percent_stacked, "A44")

# Chart with date axis
c2 = LineChart()
c2.title = "Date Axis"
c2.style = 12
c2.y_axis.title = "Size"
c2.y_axis.crossAx = 500
c2.x_axis = DateAxis(crossAx=100)
c2.x_axis.number_format = 'd-mmm'
c2.x_axis.majorTimeUnit = "days"
c2.x_axis.title = "Date"

c2.add_data(data, titles_from_data=True)
dates = Reference(ws, min_col=1, min_row=2, max_row=7)
c2.set_categories(dates)

ws.add_chart(c2, "A61")

wb.save("line.xlsx")

Charger plusieurs Excels

import openpyxl
import pathlib
path = pathlib.Path('Nom du répertoire/')
for path_obj in path.iterdir():
    wb = openpyxl.load_workbook('nom de fichier.xlsx')
    for sh in wb:
        #Opération pour chaque feuille

Journal des modifications

--2019 / 12/30 nouvellement créé

Recommended Posts

Excel X Python La technique de travail la plus rapide
Le moyen le plus rapide pour les débutants de maîtriser Python
Le moyen le plus rapide d'essayer EfficientNet
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 ④
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 ③
Le moyen le plus rapide d'obtenir régulièrement des images de caméra avec opencv de python
Le moyen le plus simple de synthétiser la voix avec python
Le moyen le plus simple d'utiliser OpenCV avec python
[Algorithm x Python] Comment utiliser la liste
Introduction à Python avec Atom (en route)
[Python] Une autre façon d'importer
Convertir le code python 3.x en python 2.x
Probablement le moyen le plus simple de créer un pdf avec Python 3
Laissez le traitement gênant à Python
Dans la commande python, python pointe vers python3.8
La façon la plus simple de faire un flacon
La façon la plus simple d'essayer PyQtGraph
[Python] Changer l'alphabet en nombre
Un moyen simple d'accéder à l'API produit Amazon en Python
Un moyen facile d'arrondir après la virgule décimale en python3
[Circuit x Python] Comment activer le package d'analyse de circuit linéaire Lcapy
J'ai essayé d'améliorer l'efficacité du travail quotidien avec Python
Lire la technique de travail la plus rapide du chapitre VBA x Python Memo1
Comment afficher les octets de la même manière en Java et Python
J'ai essayé de savoir comment rationaliser le flux de travail avec Excel × Python, mon résumé d'article ★
[Blender x Python] Maîtrisons le matériel !!
VBA x Python Le contenu de la lecture de la technique de travail la plus rapide Mémo chapitre3
[EV3 x Python] Diffusez les images de la caméra sur votre PC en utilisant mjpg-streamer.
Convertir des données Excel en JSON avec python
Note de travail pour migrer et mettre à jour les scripts de la série Python 2 sur le cloud vers la série 3
Comment utiliser BigQuery en Python
Comment effacer Python 2.x sur Mac.
Un moyen simple d'utiliser Wikipedia avec Python
[Mac] Créez un environnement Python 3.x à la vitesse la plus rapide à l'aide de Docker
Essayez d'utiliser Excel en utilisant Python (Xlwings)
Python amateur tente de résumer la liste ①
Faites simplement migrer l'échobot Discord.py 0.X vers 1.X
À la recherche du FizzBuzz le plus rapide en Python
Lire la technique de travail la plus rapide de VBA x Python Memo chapitre2
Pour faire fonctionner la station d'horodatage en Python
La route de la compilation vers Python 3 avec Thrift
[Circuit x Python] Comment trouver la fonction de transfert d'un circuit en utilisant Lcapy
À propos du point où python 3.x est resté bloqué en raison d'une erreur due à caching_sha2_password
L'idée de tests corrects, dédiés aux projets où les tests ne fonctionnent pas
Comment utiliser la bibliothèque C en Python
Modifier Excel à partir de Python pour créer un tableau croisé dynamique
Constantes Python comme None (selon la référence)
Le moyen le plus simple de démarrer avec Django
Convertir le «nombre» de date Excel en date / heure Python
Un moyen simple d'utiliser Python 2.7 sur Cent OS 6
Essayez de résoudre le problème de l'héritage de classe Python
[Python] Comment changer le format de la date (format d'affichage)