Объединение нескольких файлов Excel, содержащих изображение с данными, в один файл Excel - PullRequest
0 голосов
/ 10 июня 2019

Пример: -

У меня есть 2 файла Excel 1) Первый файл Excel с 2 листами и каждый лист, имеющий изображение с данными 2) Второй лист, позволяющий использовать только данные

Ожидаемый результат: -

Мастер-файл Excel существует с одним листом

Таким образом, этот мастер-файл должен содержать данные как excel 1, так и exccel 2

Ожидаемый результат = Мастер-файл должен иметь всего 4 листа = (1 лист самого мастер-файла Excel + 2 листа Excel 1+ 1 лист файла Excel 2)

перепробовал столько пакетов, как xlwt, xlrd, pandas, openpyxl, но ничего не работает, особенно когда в моих файлах src есть образы.

Copyfile из shutil работает, но цикл for в файлах src excel просто перезаписывает данные последнего файла excel, которые не являются ожидаемым результатом

import pandas as pd

    # filenames
    excel_names = ["/home/kuldeep/Desktop/test_alf.xlsx", "/home/kuldeep/Desktop/test_alf_2.xlsx", "/home/kuldeep/Desktop/test_alf_3.xlsx"]

    # read them in
    excels = [pd.ExcelFile(name) for name in excel_names]

    # turn them into dataframes
    frames = [x.parse(x.sheet_names[0], header=None,index_col=None) for x in excels]

    # delete the first row for all frames except the first
    # i.e. remove the header row -- assumes it's the first
    frames[1:] = [df[1:] for df in frames[1:]]

    # concatenate them..
    combined = pd.concat(frames)

    # write it out
    combined.to_excel("/home/kuldeep/Desktop/test_alf_combined.xlsx", header=False, index=False)

Пример: -

У меня есть 2 файла Excel 1) Первый файл Excel с 2 листами и каждый лист, имеющий изображение с данными 2) Второй лист, содержащий только данные

Ожидаемый результат: -

Мастер-файл Excel существует с одним листом

Таким образом, этот мастер-файл должен содержать данные как excel 1, так и exccel 2

Ожидаемый результат = Мастер-файл должен иметь в общей сложности 4 листа = (1 лист самого мастер-файла Excel + 2 листа Excel 1+ 1 лист файла Excel 2)

...