Я хотел бы скопировать данные Excel из исходного файла Excel в целевой файл Excel. Однако я не просто копирую данные целиком из исходного файла.
Мне нужно копировать ТОЛЬКО определенные строки и столбцы, такие как первые 5 строк на 4 столбца (эти данные покрыты, строки с 1-го по 5-й, столбец: От A до D) из исходного файла и вставьте по фиксированной согласованности целевого файла Excel, например, строки: с 3-го по 7-й, столбец: от A до D. Следующая итерация. Я хотел бы скопировать следующие 5 строк на 4 столбца (эти данные описаны, строка: С 6-го по 10-й, столбец: от A до D) к той же координации (строка: с 3-го по 7-й, столбец: от A до D) и продолжайте копирование из исходного файла до конца sh копируйте все данные из исходного файла.
Ниже приведены вложения исходного файла и желаемого конечного файла.
на рисунке выше показаны данные из исходного файла
выше На рисунке показаны данные из файла назначения.
Вот код, который я пробовал, но он возвращает странный вывод:
# source
filename ="C:/Users/aaa/Desktop/combine_all.xlsx"
wb1 = xl.load_workbook(filename)
ws1 = wb1.worksheets[0]
# destination
filename1 ="C:/Users/aaa/Desktop/algorithm.xlsx"
wb2 = xl.load_workbook(filename1)
ws2 = wb2.active
mr = ws1.max_row
mc = ws1.max_column
try:
m = [1, 6, 11, 16, 21, 26, 31, 36, 41, 46, 51, 56, 61, 66, 71, 76, 81, 86, 91, 96, 101, 106, 111, 116, 121, 126, 131, 136]
n = [6, 11, 16, 21, 26, 31, 36, 41, 46, 51, 56, 61, 66, 71, 76, 81, 86, 91, 96, 101, 106, 111, 116, 121, 126, 131, 136, 141]
for q in range (3, 8):
for xm, yn in zip(m, n):
for i in range (xm, yn):
for j in range (1, 5):
c = ws1.cell(row = i, column = j)
ws2.cell(row = q, column = j).value = c.value
Спасибо большое, если кто-нибудь может мне помочь, заранее спасибо!