В python / pandas, как я могу создать программу для «автоматического именования» фреймов данных из заголовков файлов .csv в любом заданном каталоге? - PullRequest
0 голосов
/ 19 июня 2020

Кажется довольно обычным, если присутствует несколько входных файлов .csv для создания списка фреймов данных, а затем «вручную» присваивать им имена. Я хочу знать, можно ли создать программу, которая будет принимать любой путь в качестве входных данных и автоматизировать создание и присвоение имен фреймам данных на основе имен файлов .csv в каталоге. Я был бы доволен, если бы фреймам данных были присвоены те же имена, что и .csv (без расширения)

import pandas as pd
import glob
import os
import numpy as np

путь, введенный пользователем

path = 'C:/Users/XXXXX/Desktop/datasets/world_bank_data/'

получить список имен из .csv . будет использоваться для маркировки фрейма данных

filenames = glob.glob(path + '/*.csv')
names = [os.path.basename(x) for x in glob.glob(path + '/*.csv')]
names = np.char.replace(names, '.csv', '')
names = list(names) 
>>names
Out[146]: ['Country-Series', 'Country', 'Data', 'FootNote', 'Series-Time', 'Series']

Приведенный выше код можно повторно использовать, когда пользователь вводит желаемый путь. Чтобы «вручную» переименовать, я мог бы сделать:

dataframes = []

for filename in filenames:
    dataframes.append(pd.read_csv(filename))      

[df1,df2,df3,df4,df5,df6] = dataframes

ОДНАКО , я хочу использовать имена в (изменяемом) списке, созданном выше, для именования фреймов данных. Я надеюсь, что для этого есть очевидное и простое решение !? :)

Спасибо!

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