У меня около 20 файлов XLSX в диапазоне от 4 до 10 МБ.
Я хочу взять определенный лист в этих файлах xlsx и объединить их в один файл.
Каждый файл xlsx назван в последовательном порядке по неделям, а на листе, который я пытаюсь проанализировать, нет даты, поэтому я использую имя_файла в качестве индекса и проведу обратный инжиниринг по дате недели.
Я использую следующий код, который я использую довольно часто для объединения нескольких файлов в один файл. Я также использую basename для добавления имени, но получаю следующую ошибку.
ValueError: Length mismatch: Expected axis has 461 elements, new values have 457 elements
import pandas as pd
from os.path import basename
import os
import glob
path = os.getcwd()
allFiles = glob.glob(path + "/*.xlsx")
frame = pd.DataFrame()
master_list = []
for file_ in allFiles:
df = pd.read_excel(file_,sheet_name = "Base data",index_col=None,
header=0)
df.index = [os.path.basename(f)] * len(data)
master_list.append(df)
frame = pd.concat(master_list)