Я хочу скопировать диапазон и вставить его в другой файл Excel.
Я нашел этот; https://yagisanatode.com/2017/11/18/copy-and-paste-ranges-in-excel-with-openpyxl-and-python-3/
Но здесь вам нужно указать конкретный c номер строки и столбца для "pasteRange". Но в "pasteRange" я хочу завершить строку "последней непустой строкой".
Вот что я попробовал ниже с указанными c строкой, номерами столбцов;
import openpyxl
# Copied data
wb = openpyxl.load_workbook("D:\Documents\Desktop\deneme/2020_03_Kalip_Kontrol_Raporu2.xlsx") # Add file name
sheet = wb["Sheet1"] # Add Sheet name
# Paste Data
template = openpyxl.load_workbook("D:\Documents\Desktop\deneme/2020 Data_çalışma2.xlsx") # Add file name
temp_sheet = template["Sheet1"] # Add Sheet name
# Copy range def
def copyRange(startCol, startRow, endCol, endRow, sheet):
rangeSelected = []
# Loops through selected Rows
for i in range(startRow, endRow + 1, 1):
# Appends the row to a RowSelected list
rowSelected = []
for j in range(startCol, endCol + 1, 1):
rowSelected.append(sheet.cell(row=i, column=j).value)
# Adds the RowSelected List and nests inside the rangeSelected
rangeSelected.append(rowSelected)
return rangeSelected
# Paste range def
def pasteRange(startCol, startRow, endCol, endRow, sheetReceiving, copiedData):
countRow = 0
for i in range(startRow, endRow + 1, 1):
countCol = 0
for j in range(startCol, endCol + 1, 1):
sheetReceiving.cell(row=i, column=j).value = copiedData[countRow][countCol]
countCol += 1
countRow += 1
#Copy-Paste Operation
def createData():
selectedRange = copyRange(2, 8, 183, 4500, sheet) # Change the 4 number values (startCol, startRow, endCol, endRow, sheet)
pastingRange = pasteRange(2, 3286, 183, 7000, temp_sheet, selectedRange) # Change the 4 number values (startCol, startRow, endCol, endRow, sheet)
template.save("D:\Documents\Desktop\deneme/2020 Data_çalışma2.xlsx")
go= createData()