Читайте в нескольких CSV в отдельных фреймах данных в Pandas - PullRequest
0 голосов
/ 19 марта 2019

У меня есть длинный список CSV-файлов, которые я хочу прочитать как кадры данных и назвать их по имени файла. Например, я хочу прочитать в файле status.csv и присвоить его фрейму данных имя status. Есть ли способ, которым я могу эффективно сделать это с помощью панд?

Глядя на это , я все еще должен написать имя каждого CSV в моем цикле. Я хочу избежать этого.

Глядя на это , что позволяет мне читать несколько CSV в одном кадре данных вместо многих.

Ответы [ 2 ]

4 голосов
/ 19 марта 2019

Вы можете перечислить все csv в каталоге, используя os.listdir(dirname) и объединить его с os.path.basename для анализа имени файла.

import os

# current directory csv files
csvs = [x for x in os.listdir('.') if x.endswith('.csv')]
# stats.csv -> stats
fns = [os.path.splitext(os.path.basename(x))[0] for x in csvs]

d = {}
for i in range(len(fns)):
    d[fns[i]] = pd.read_csv(csvs[i])
0 голосов
/ 19 марта 2019

вы можете создать словарь DataFrames:

d = {}  # dictionary that will hold them 

for file_name in list_of_csvs:  # loop over files

   # read csv into a dataframe and add it to dict with file_name as it key
   d[file_name] = pd.read_csv(file_name)


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