Чтение нескольких файлов CSV в отдельные кадры данных с помощью панд - PullRequest
0 голосов
/ 29 августа 2018

Мне нравится читать два CSV-файла из определенной папки в два отдельных кадра данных.

Два имени файла: 23314621_MACI_NAV.CSV и 23314623_MACI_Holding.CSV

Вторая часть имени файла имеет фиксированные значения MACI_NAV.CSV и MACI_Holding.CSV, однако первая часть имени файла, представляющая собой числа, меняется каждый день.

Мне нравится читать их в два разных кадра данных, пытаясь это:

import pandas as pd
import glob

msci_folder = 'N:/Operation/Daily CDS E_Report/CDS/MACI/'
mscifile = glob.glob(msci_folder + "\*.csv")

for file in mscifile:
    df_nav=pd.read_csv(file)
    df_holding=pd.read_csv(file)

Кажется, что обе строки читают один и тот же файл, как мне заставить их читать разные файлы (второй файл)?

1 Ответ

0 голосов
/ 29 августа 2018

Если хотите создать список DataFrames:

dfs = []
for file in mscifile:
    df = pd.read_csv(file)
    dfs.append(df)

Или используйте список понимания:

dfs = [pd.read_csv(file) for file in mscifile]

print (dfs[0])
print (dfs[1])

Другое решение - создать dictionary of DataFrames с ключами по последней подстроке после _ в имени файла:

from os.path import splitext, basename

dfs = {splitext(basename(fp))[0].split('_')[-1] : pd.read_csv(fp) for fp in mscifile}
print (dfs)

print (dfs['NAV'])
print (dfs['Holding'])
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...