J'ai eu la chance de traiter un fichier Excel pendant un certain temps dans mon travail, donc du traitement à ce moment-là J'ai essayé de résumer le processus d'ajout de colonnes au fichier Excel et de suppression de lignes avec des conditions spécifiques. Cela peut être utile lorsque vous devez traiter un peu le modèle ou les données d'origine.
Il n'y a pas d'exe cette fois.
Il est publié sur github.
Effectuer diverses opérations sur les données de référence .xlsx
dans le répertoire d'entrée.
Modifiez le contenu des données de référence .xlsx
en fonction du fichier de définition .xlsx
dans le répertoire d'entrée.
C'est comme indiqué sous chaque article
Numéro d'article | Nom de la feuille | Nom de colonne | La description |
---|---|---|---|
1 | Colonnes supplémentaires | nom de l'article | Définissez la valeur correspondant au nom de colonne des données de référence Ajouter comme nom de colonne |
2 | Colonnes supplémentaires | Colonnes supplémentaires | Données de critères Ajouter à la colonne spécifiée Ensemble à partir de la colonne A |
3 | Colonnes supplémentaires | donnée supplémentaire | Spécifiez la feuille qui décrit les données à ajouter. Pour les données, définissez la valeur correspondant à la position de la ligne. |
4 | Supprimer la ligne | nom de l'article | Spécifiez la valeur de consigne correspondant au nom de colonne des données de référence. Spécifiez la colonne à utiliser pour la condition de la ligne à supprimer. |
5 | Supprimer la ligne | conditions | 削除する行のconditionsを指定する。 |
Le traitement suivant fait partie du traitement d'ajout de colonne. Une feuille qui acquiert le nom de la colonne et la position à ajouter à partir du fichier acquis et décrit plus en détail les données J'obtiens les données à ajouter. ʻLa colonne est ajoutée à la position spécifiée par la méthode inser_cols`. La valeur est définie dans la colonne qui a acquis les données et les a ajoutées. Je dessine également une bordure lors de la définition de la valeur.
for columninfo in addColumnInfos:
addColumnName=columninfo[1]
addColumnPosition=columninfo[2]
addColumnData=columninfo[3]
addColmunDatas=inputWorkbook.parse(addColumnData)
addDatas=np.asarray(addColmunDatas)
baseSheet.insert_cols(addColumnPosition,1)
baseSheet.cell(column=addColumnPosition,row=2,value=addColumnName).border=blackBorder
for i,data in enumerate (addDatas):
baseSheet.cell(column=addColumnPosition,row=i+3,value=data[1]).border=blackBorder
Le traitement suivant est la partie de suppression de ligne.
Acquiert le nom de la colonne et la condition de suppression pour lesquels les conditions à supprimer sont spécifiées à partir du fichier acquis.
Après cela, après avoir décidé de la position de la ligne à supprimer (la condition est obtenue par requête des pandas)
La position est supprimée par la méthode delete_rows
.
Si vous supprimez une ligne, la ligne supprimée sera obstruée, donc la position de la ligne est corrigée.
for columninfo in addColumnInfos:
delTargetColumnName=columninfo[1]
delRowCondition=columninfo[2]
deleteRows=targetDeleteRowSheet.query(delTargetColumnName+'=="'+delRowCondition+'"')
deleteIndexs=deleteRows.index
log.info(deleteIndexs)
for delcount,delindex in enumerate(deleteIndexs):
baseSheet.delete_rows(startIndex+delindex-delcount)
Cette fois, il est supprimé en fonction des conditions du fichier correctement défini, Par exemple, supprimez une ligne dont le résultat du tableau récapitulatif est 0. Il peut être utilisé comme l'une des méthodes lors du traitement d'Excel, comme l'ajout d'une colonne à un formulaire et sa soumission.
Recommended Posts