Кажется довольно обычным, если присутствует несколько входных файлов .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
ОДНАКО , я хочу использовать имена в (изменяемом) списке, созданном выше, для именования фреймов данных. Я надеюсь, что для этого есть очевидное и простое решение !? :)
Спасибо!