Создание нового столбца через имя файла - PullRequest
0 голосов
/ 14 октября 2019

Я хотел бы прочитать несколько файлов и добавить новый столбец год. Имя файла: Shirt_2016, Shirt_2017, Shoe_2018, Shoe_2019,

rawfolder = 'c:/users/a/desktop/item'
A = pd.DataFrame(pd.read_excel('%s/Shirt_2016' %(rawfolder), sheetname="sheet1", header=None)
B = pd.DataFrame(pd.read_excel('%s/Shirt_2017' %(rawfolder), sheetname="sheet1", header=None)
C = pd.DataFrame(pd.read_excel('%s/Shoe_2018' %(rawfolder), sheetname="sheet1", header=None)
D = pd.DataFrame(pd.read_excel('%s/Shoe_2019' %(rawfolder), sheetname="sheet1", header=None)
.
.(Script to run)
.

Как создать извлечение столбца года в отношении «% s / Shoe_2019» и прочитать файл в данный момент времени в сценарии. Я пробовал следующее:

df['Year'] = (os.path.basename([A,B,C,D]).split('.')[0].split('_')[1])

1 Ответ

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

Я бы создал список с именами файлов

filenames = ['Shirt_2016', 'Shirt_2017', 'Shoe_2018', 'Shoe_2019', ...]

, а затем использовал бы for -loop для чтения файлов

rawfolder = 'c:/users/a/desktop/item'
all_df = []

for name in filenames:
   path = os.path.join(rawfolder, name)
   temp_df = pd.DataFrame(pd.read_excel(path, sheetname="sheet1", header=None)
   all_df.append(temp_df)

и использовал бы этот список для создания столбца

df['Year'] = [name[-4:] for name in filenames]
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...