Скопируйте диапазон данных из одной рабочей книги в другую, используя python - PullRequest
0 голосов
/ 02 мая 2020

Я получил код и работает, но каждый раз выходная рабочая книга повреждена и не открывается. Любой способ исправить это. Я пытался использовать .xlsb, чтобы исправить проблему, но это вынуждает меня полностью изменить код. Не могли бы вы помочь мне решить эту проблему PS - файл назначения содержит таблицу и множество формул, распределенных по 50 столбцам и 3000 строк

import os
import openpyxl
import pandas as pd
from pyxlsb import open_workbook as open_xlsb
#ACvsLE

os.chdir("Y:\\WEST\\2. BE\\4. MPM Belgium\\2020\\GMC Prep Automation\\Data_Prep_Python\\")
_path1= "Y:\\WEST\\2. BE\\4. MPM Belgium\\2020\\GMC Prep Automation\\Data_Prep_Python\\"
path1 =r"\\we.interbrew.net\\DFSEurope\\Crown Jewels\\Revenue Management\\WEST\\2. BE\\4. MPM Belgium\\2020\\GMC Prep Automation\\Data_Prep_Python\\Input_File.xlsx" 
path2 =r"\\we.interbrew.net\\DFSEurope\\Crown Jewels\\Revenue Management\\WEST\\2. BE\\4. MPM Belgium\\2020\\GMC Prep Automation\\Data_Prep_Python\\GMC_Template.xlsx"
extension=".xlsx"

wb = openpyxl.load_workbook(path1)
sheet = wb.worksheets[0] 

template=openpyxl.load_workbook(path1)
temp_sheet=wb.worksheets[0]        

rows=sheet.max_row
columns=sheet.max_column

lst=[]

for i in range(1,rows+1):
    lst.append([])

for r in range(1,rows+1):
    for c in range(1,columns+1):
        e=sheet.cell(row=r,column=c)
        lst[r-1].append(e.value) 

for r in range(1,rows+1):
    for c in range(1,columns+1):
        j=temp_sheet.cell(row=r,column=c)
        j.value=lst[r-1][c-1]

file_path=sheet.title+extension
template.save(os.path.join(_path1,file_path))    
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...