--Operate Excel (siehe letztes Mal)
So sammeln Sie Daten
Beispiel für die Datenerfassung für jede Zelle: für num in range (maxCellNum)
Beispiel für die Datenerfassung in Zeileneinheiten: für die Zeile in ws.iter_rows (min_row = startDataRow):
Zweidimensionales Array, wenn die Anzahl der Elemente nicht festgelegt ist ――Es scheint unmöglich, weil es nicht herauskommt, selbst wenn Sie googeln ... ――Es ist möglicherweise besser, es nicht so zu gestalten, dass es überhaupt verwendet wird. --Kombinieren Sie die Quelldaten zeilenweise mit Kommas
Wenn Sie es auf der Benutzerseite durch Kommas teilen, können Sie ein eindimensionales Array (Liste) verwenden (siehe Quelle).
Code, den ich geschrieben habe
import sys
import os
import openpyxl
#Es sind keine tatsächlichen Verkaufsdaten.
#Ich möchte nicht direkt schreiben.
targetExcel = r"..\data\Der Umsatz.xlsx"
targetSheetName = "Verkäufe im letzten Monat"
newFileName = "Neu.xlsx"
newSheetName = "test"
#Von A4
startDataRow = 4
startDataColumn = 1
#Öffnen Sie Excel
# data_only=True gibt das Ergebnis des Ausdrucks an. Ohne sie kann die Formel selbst genommen werden.
wb = openpyxl.load_workbook(targetExcel, data_only=True)
#Zugriff auf Daten in Excel
ws = wb[targetSheetName]
#Holen Sie sich eine leere Liste
#Ein zweidimensionales Array mit einer unbestimmten Anzahl von Elementen kann nicht erstellt werden ...
datalist = []
#Fügen Sie die Daten der Zielzeile aus dem geöffneten Excel in die Liste ein
#Wie auch immer, ich möchte die Daten Zeile für Zeile herausziehen ...
#Unvernünftig
for row in ws.iter_rows(min_row = startDataRow):
#Wäre es nicht möglich, jede durch Kommas getrennte Zeile zu kombinieren?
tempStr = ""
for cellVal in row:
#Kombinieren Sie 2 und nachfolgende Elemente mit Kommas
if tempStr == "":
tempStr = str(cellVal.value)
else:
tempStr = tempStr + ',' + str(cellVal.value)
datalist.append(tempStr)
print(datalist)
#Gutes neues Excel
wb2 = openpyxl.Workbook()
ws2 = wb2.worksheets[0]
ws2.title = newSheetName
#Ich möchte es an der gleichen Position wie das ursprüngliche Excel einstellen
#Ich werde die Leute auflisten, zu denen Kommas gehören
#Wenn Sie es zurückbringen möchten, können Sie die Elemente der Liste aufteilen.
splitList = []
for rowNum in range(len(datalist)):
splitList = datalist[rowNum].split(",")
for colNum in range(len(splitList)):
ws2.cell(startDataRow + rowNum, startDataColumn + colNum).value = splitList[colNum]
#Hozon
wb2.save(newFileName)
Code, den ich geschrieben habe
#Letztes Mal
targetExcel = r"../data/Der Umsatz.xlsx"
#diesmal
targetExcel = r"..\data\Der Umsatz.xlsx"
Nachtrag: Der Titel wurde aktualisiert.
Recommended Posts