Я пытаюсь скопировать некоторое содержимое листа в одном Excel на другой лист в другом Excel и использую Openpyxl в python.
Я написал базовую функцию, которая возвращает дескриптор листа. Так что я могу использовать ту же функцию, чтобы получить дескриптор для любого Excel, а не повторять код.
Я могу копировать содержимое во время печати в ячейке, но ничего не меняется в отличном содержимом. Хотите знать, как сохранить их в соответствующем порядке, поскольку функция пыталась использовать тот же дескриптор wb - workbook. Ниже приведен код.
from openpyxl import Workbook
import os
from openpyxl import Workbook, load_workbook
from openpyxl.compat import range
from openpyxl.utils import get_column_letter
from openpyxl.styles import Alignment, PatternFill, Border, Color
from openpyxl.styles.colors import YELLOW
from openpyxl.styles.borders import Border, Side
def rss_link(arg1):
lxfpt = arg1
print"rss_link: Value of lxfpt %s"%(lxfpt)
if len(lxfpt)>1:
lxfp = str(lxfpt[0]).strip()
sus = str(lxfpt[1]).strip()
else:
lxfp = str(lxfpt[0])
sus = None
print"rss_link: Value of lxfp %s sus %s"%(lxfp,sus)
if not os.path.isfile(lxfp):
print"rss_link : Please Load a Proper File\n"
lxf = open(lxfp, "a+")
wb = load_workbook(lxf)
sheet = wb.get_sheet_names()
for ws in sheet:
print"Name of the sheet is : for %s"%ws
if sus != None:
print"into sus %s ws %s"%(sus,ws)
if ws == sus:
sheet = wb[ws]
print"Name of the sheet selected is %s"%sheet
break
elif ws == "Sheet1":
sheet = wb[ws]
print"Name of the sheet selected is %s"%sheet
break
else:
continue
if wb.active <> sheet:
print"rss_link : Required Sheet Is Found In Sheet.!\n"
return sheet
lxfp_1 = ['<Path to File1>.xlsx', 'Sheet2']
lxfp_2 = ['<Path to File2>.xlsx', 'Sheet3']
sheet1 = rss_link(lxfp_1)
sheet2 = rss_link(lxfp_2)
for row in sheet2.iter_rows(min_col=2, max_col=10, min_row=1, max_row=len(sheet2['A'])):
for cell in row:
sheet1.cell(row=10+cell.row, column=cell.column).value = cell.value
print"sheet.cell.row %s sheet.cell.column %s sheet.cell.value %s\n"%(10+cell.row, cell.column, sheet1.cell(row=10+cell.row, column=cell.column).value)
wb = load_workbook("<File1>.xlsx")
wb.save("<File1>.xlsx")
Как я могу скопировать содержимое между двумя Excel, несмотря на использование вышеуказанной общей функции для возврата листа, или это невозможно вообще?