Я хотел бы получить указанную строку c из Рабочей книги 1 и добавить ее после существующих данных в Рабочей книге 2.
Код, который я пробовал до сих пор, можно найти ниже:
import openpyxl as xl
from openpyxl.utils import range_boundaries
min_cols, min_rows, max_cols, max_rows = range_boundaries('A:GH')
#Take source file
source = r"C:\Users\Desktop\Python project\Workbook1.xlsx"
wb1 = xl.load_workbook(source)
ws1 = wb1["P2"] #get the needed sheet
#Take destination file
destination = r"C:\Users\Desktop\Python project\Workbook2.xlsx"
wb2 = xl.load_workbook(destination)
ws2 = wb2["A3"] #get the needed sheet
row_data = 0
#Get row & col position and store it in row_data & col_data
for row in ws1.iter_rows():
for cell in row:
if cell.value == "Positive":
row_data += cell.row
for row in ws1.iter_rows(min_row=row_data, min_col = 1, max_col=250, max_row = row_data):
ws2.append((cell.value for cell in row[min_cols:max_cols]))
wb2.save(destination)
wb2.close()
Но когда я использую вышеупомянутый код, я получаю результат, но со сдвигом в 1 строку. Я хочу, чтобы данные, добавленные в строку 8, находились в строке 7 сразу после последних данных в Рабочей книге 2. (См. Изображение ниже)
Рабочая книга 2
Кто-нибудь получил какие-либо отзывы? Спасибо!