Чтение и сохранение нескольких файлов CSV из цикла for - PullRequest
0 голосов
/ 11 июля 2019

Я пытаюсь прочитать несколько CSV-файлов из списка путей к файлам и сохранить их как отдельные фреймы данных pandas.

Мне кажется, что должен быть способ сделать это, однако я не могу найти краткоеобъяснение.

import pandas as pd

data_list = [['df_1','filepath1.csv'],
             ['df_2','filepath2.csv'],
             ['df_3','filepath3.csv']]

for name, filepath in data_list:
    name = pd.read_csv(filepath)

Я также пытался:

data_list = [[df_1,'filepath1.csv'],[df_2,'filepath2.csv'],
             [df_3,'filepath3.csv']]

for name, filepath in data_list:
    name = pd.read_csv(filepath)

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

Пример):

df_1.head()

Ответы [ 3 ]

1 голос
/ 11 июля 2019
df_dct = {name:pd.read_csv(filepath) for name, filepath in data_list}

создаст словарь DataFrames. Это может помочь вам организовать ваши данные.

Вы также можете заглянуть в glob.glob , чтобы создать список файлов. Например, чтобы получить все CSV-файлы в каталоге:

file_paths = glob.glob(my_file_dir+"/*.csv")
0 голосов
/ 11 июля 2019

Вы можете убедиться в словаре для этого ...

import pandas as pd
data_list = ['filepath1.csv', 'filepath2.csv', 'filepath3.csv']
d = {}
for _, i in enumerate(data_list):
    file_name = "df" + str(_)
    d[file_name] = pd.read_csv(filepath)

Здесь d - это словарь, содержащий все ваши фреймы данных.

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

Я рекомендую вам NumPy.Читайте CSV-файлы с NumPy.

from numpy import genfromtxt
my_data = genfromtxt('my_file.csv', delimiter=',')

Вы получите nd-массив.После этого вы можете включить их в панд.

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