Чтение нескольких файлов CSV, начиная со строки, в отдельные фреймы данных в Python - PullRequest
0 голосов
/ 11 июля 2019

У меня есть около 500 файлов '.csv', начинающихся с буквы 'T', например, 'T50, T51, T52 ..... T550', и в папке есть несколько других файлов ', csv' с другими случайными именами.Я хочу прочитать все CSV-файлы, начинающиеся с «T», и сохранить их в отдельных фреймах данных: «t50, t51, t52 ... и т. Д.»

Код, который я написал, просто читает эти файлы в фрейм данных

import glob
import pandas as pd

for file in glob.glob("T*.csv"):
    print (file)

Я хочу иметь разные имена для каждого фрейма данных, предпочтительно их собственные имена файлов.Как я могу добиться этого в рамках цикла for?

Ответы [ 2 ]

2 голосов
/ 11 июля 2019

В дополнение к ответу ABotros, чтобы прочитать все файлы в разных фреймах данных, я бы порекомендовал добавить файлы в словарь, который позволит вам сохранять фреймы данных с разными именами в цикле:

filelist = [file for file in os.listdir(folder) if file.startswith('T')]

database = {}
for file in filelist:
    database[file] = pd.read_csv(file)
1 голос
/ 11 июля 2019

Полностью согласен с @ Comos
Но если вам все еще нужны отдельные имена переменных, я адаптировал решение из здесь !

import pandas as pd
import os

folder = '/path/to/my/inputfolder'

filelist = [file for file in os.listdir(folder) if file.startswith('T')]
for file in filelist:
    exec("%s = pd.read_csv('%s')" % (file.split('.')[0], os.path.join(folder,file)))
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...