Прочитайте несколько файлов Excel в кадрах данных, используя цикл for, прочитав месяц в каждом имени файла.Python

Программы на Python
Ответить Пред. темаСлед. тема
Anonymous
 Прочитайте несколько файлов Excel в кадрах данных, используя цикл for, прочитав месяц в каждом имени файла.

Сообщение Anonymous »

У меня есть 12 файлов Excel. Каждый из них основан на месяце года, поэтому каждое имя файла заканчивается на «Месяц ГГГГ». Например, файл за март 2021 года заканчивается на «Март 2021.xlsx». Я хочу прочитать каждый файл Excel, выбрать определенные столбцы, удалить пустые строки, а затем объединить каждый файл в один файл Excel как именованный лист. Однако я хочу выполнить поиск по имени файла, определить месяц, а затем переименовать второй столбец, указав этот месяц.
Как добавить код, чтобы использовать месяц каждого файла? в качестве «нового имени» для второго столбца каждого df?
Вот пример с использованием двух месяцев:
Первый файл: январь 2021.xlsx



A
B




1
x


3x



Файл третий: февраль 2021.xlsx



A
B




3
x


5
x



I хочу переименовать B, чтобы он представлял месяц соответствующего файла Excel, а затем объединить его, чтобы получить:


А
Январь
Февраль



1
x< /td>
0


3
x
x


5
0
x



Это то, что я сделал до сих пор.

Код: Выделить всё

#Store Excel files in a python list
excel_files = list(Path(DATA_DIR).glob('*.xlsx'))

Код: Выделить всё

#Read each file into a dataframe

dfs = []

for excel_file in excel_files:
df = pd.read_excel(excel_file,sheet_name='Sheet1',header=5,usecols='A,F',skipfooter=8)
df.dropna(how='any', axis=0, inplace = True)
df.rename(columns={'old-name': 'new-name'}, inplace=True)
dfs.append(df)

Код: Выделить всё

#Compile the list of dataframes to merge
data_frames = [dfs[0], dfs[1],dfs[2] ... dfs[11]]

Код: Выделить всё

#Merge all dataframes
df_merged = reduce(lambda  left,right: pd.merge(left,right,on=['A'],
how='outer'), data_frames).fillna(0)
Мне нужна помощь в добавлении кода, чтобы месяц каждого файла использовался в качестве «нового имени» для второго столбца каждого df?

Подробнее здесь: https://stackoverflow.com/questions/791 ... month-in-e
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «Python»