Как зациклить импорт нескольких файлов CSV как разных DataFrames, и каждый из импортированных DataFrames имеет свое имя файла или, по крайней мере, его часть - PullRequest
0 голосов
/ 20 ноября 2018

Это мой первый пост.Я хочу зациклить или выполнить итерацию в каталоге, чтобы импортировать каждый из файлов как отдельный DataFrame с именем, похожим (по крайней мере, с нумерацией) на имя его файла.После долгих исследований я до сих пор не знаю, как это сделать.Очевидно, я очень новичок :-)

Мой код:

Main_folder =  os.getcwd()
Folders = os.listdir('.')

for file in Folders:
    data= pd.read_csv(file, sep="\t", header=0)
    data.columns=data.columns.str.strip()

, где, например, Folders - это список имен файлов, включая расширение файла.Например:

Folders=['01_load.TXT', '02_load.TXT', '03_load.TXT']

Мне нужно просто импортировать все файлы в мое рабочее пространство, например:

Load_01=pd.read_csv('01_load.TXT', sep="\t", header=0)
Load_02=pd.read_csv('02_load.TXT', sep="\t", header=0)

, но в цикле, так как у меня много файлов.

Ответы [ 2 ]

0 голосов
/ 20 ноября 2018

При создании объектов в цикле вы не можете дать им явные имена.Но вы можете добавить их в структуру данных, которая связывает их с соответствующим именем.Я бы порекомендовал словарь здесь.Так, например, вы можете сделать это:

Folders=['01_load.TXT', '02_load.TXT', '03_load.TXT'] # These should be called filenames not folders but anyway.

data_frames = {}    # Initialise a dictionary

for filename in Folders:
    df = pd.read_csv(filename, sep='\t', header=False)
    data_frames[filename] = df

# Now you can access any of the dataframes by the filename by using the dictionary:
# Let's say you want the df associated with 02_load.TXT

df = data_frames['02_load.TXT']
print(df.head())
0 голосов
/ 20 ноября 2018

Вы можете использовать словарь:

data = {}
for file in os.listdir('.'):
    data[file] = pd.read_csv(file, sep="\t", header=0)
    data[file].columns = data[file].columns.str.strip()

Затем вы получаете доступ к каждому фрейму данных в качестве ключа словаря, например: data['01_load.TXT']

Можно установить имена переменных переменных и получить к ним доступ, но это не рекомендуется или не рекомендуется.

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