Импортируйте несколько файлов Excel в панды и создайте столбец на основе имени файла - PullRequest
0 голосов
/ 09 сентября 2018

У меня есть несколько файлов Excel в одной папке, которые я хочу прочитать и объединить вместе, но при объединении я хочу добавить столбец на основе имени файла

'D:\\156667_Report.xls',
'D:\\192059_Report.xls',
'D:\\254787_Report.xls',
'D:\\263421_Report.xls',
'D:\\273554_Report.xls',
'D:\\280163_Report.xls',
'D:\\307928_Report.xls'

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

path =r'D:\' # use your path
allFiles = glob.glob(path + "/*.xls")
frame = pd.DataFrame()
list_ = []
for file_ in allFiles:
   df = pd.read_excel(file_,index_col=None, header=0)
   list_.append(df)

frame = pd.concat(list_)

Я хочу добавить столбец как Code во все файлы, которые я читаю. Код будет представлять собой числа из имени файла, например. 156667,192059

1 Ответ

0 голосов
/ 09 сентября 2018

почему бы просто не сопоставить

foo = re.match('\.*_Report', file_)
num = foo[:6]`
df['Code']= num

Внутри вашей петли?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...