Ich hatte die Möglichkeit, eine Excel-Datei für eine Weile in meiner Arbeit zu verarbeiten, also für die damalige Verarbeitung Ich habe versucht, den Vorgang des Hinzufügens von Spalten zur Excel-Datei und des Löschens von Zeilen unter bestimmten Bedingungen zusammenzufassen. Dies kann nützlich sein, wenn Sie die Vorlage oder die Originaldaten ein wenig verarbeiten müssen.
Diesmal gibt es keine Exe.
Es wird auf github veröffentlicht.
Führen Sie verschiedene Operationen an den Referenzdaten .xlsx
im Eingabeverzeichnis durch.
Ändern Sie den Inhalt der Referenzdaten .xlsx basierend auf der Definitionsdatei .xlsx im Eingabeverzeichnis.
Es ist wie unter jedem Artikel gezeigt
Artikelnummer | Blattname | Spaltenname | Erläuterung |
---|---|---|---|
1 | Zusätzliche Spalten | Artikelname | Stellen Sie den Wert ein, der dem Spaltennamen der Referenzdaten entspricht Als Spaltennamen hinzufügen |
2 | Zusätzliche Spalten | Zusätzliche Spalten | Kriteriendaten Zur angegebenen Spalte hinzufügen Satz ab Spalte A. |
3 | Zusätzliche Spalten | zusätzliche Daten | Geben Sie das Blatt an, das die hinzuzufügenden Daten beschreibt. Stellen Sie für Daten den Wert ein, der der Zeilenposition entspricht. |
4 | Zeile löschen | Artikelname | Geben Sie den eingestellten Wert an, der dem Spaltennamen der Referenzdaten entspricht. Geben Sie die Spalte an, die für den Zustand der zu löschenden Zeile verwendet werden soll. |
5 | Zeile löschen | Bedingungen | 削除する行のBedingungenを指定する。 |
Die folgende Verarbeitung ist Teil der Spaltenadditionsverarbeitung. Ein Blatt, das den Spaltennamen und die Position, die aus der erfassten Datei hinzugefügt werden soll, erfasst und die Daten weiter beschreibt Ich erhalte die Daten zum Hinzufügen. Die Spalte wird an der Position hinzugefügt, die durch die Methode "inser_cols" angegeben wurde. Der Wert wird in der Spalte festgelegt, in der die Daten erfasst und hinzugefügt wurden. Ich zeichne auch einen Rahmen, wenn ich den Wert einstelle.
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
Die folgende Verarbeitung ist der Teil zum Löschen von Zeilen.
Ermittelt den Spaltennamen und die Löschbedingung, für die die zu löschenden Bedingungen angegeben sind, aus der erfassten Datei.
Danach, nachdem Sie die Position der zu löschenden Zeile festgelegt haben (die Bedingung wird durch Abfrage von Pandas erhalten)
Die Position wird mit der Methode delete_rows
gelöscht.
Wenn Sie eine Zeile löschen, wird diese durch den gelöschten Betrag verstopft, sodass die Position der Zeile korrigiert wird.
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)
Dieses Mal wird es basierend auf den Bedingungen der entsprechend definierten Datei gelöscht. Löschen Sie beispielsweise eine Zeile, deren Ergebnis der Übersichtstabelle 0 ist. Es kann als eine der Methoden bei der Verarbeitung von Excel verwendet werden, z. B. das Hinzufügen einer Spalte zu einem Formular und das Vorbereiten für die Übermittlung.