Чтение нескольких файлов Excel для нескольких переменных (имя переменной из самого файла) - PullRequest
0 голосов
/ 07 октября 2019

У меня есть несколько файлов Excel:

import os
files = os.listdir()

#list excel files in the folder
files_xlsx = [f for f in files if f[-4:] == 'xlsx']

#sort
files_xlsx.sort()

#remove the extension
for i in range(len(files_xlsx)):
    files_xlsx[i] = files_xlsx[i][:-5]

files_xlsx
['Microsoft_Excel_Worksheet',
'Microsoft_Excel_Worksheet1',
'slide2_chart_rId3_object_rId1',
'slide3_chart_rId2_object_rId1',
'slide3_chart_rId3_object_rId1',
'slide4_chart_rId2_object_rId1',
'slide4_chart_rId3_object_rId1',
'slide5_chart_rId3_object_rId1',
'slide6_chart_rId2_object_rId1']

Я бы хотел прочитать файлы с помощью панд и сохранить каждый кадр данных в переменную:

import pandas as pd

??? how to loop this ???
Microsoft_Excel_Worksheet = pd.read_excel(files_xlsx[0] + '.xlsx'), index_col='Unnamed: 0')
Microsoft_Excel_Worksheet1 = pd.read_excel(files_xlsx[1] + '.xlsx'), index_col='Unnamed: 0')
slide2_chart_rId3_object_rId1 = pd.read_excel(files_xlsx[2] + '.xlsx'), index_col='Unnamed: 0')

Я не знаюкак зациклить процедуру. Заранее спасибо за помощь!

1 Ответ

0 голосов
/ 07 октября 2019

что вы можете сделать, это прочитать файлы xlsx в кадры данных и добавить в объединенный список

basepath = <basepath>
files = list(filter(lambda x: '. xlsx' in x, os.listdir(basepath)))
alldf = []
for f in files:
    df= pd.read_excel(f"{basepath}/{f}",index_col='Unnamed: 0')
    alldf.append(df)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...