Добавить файлы csv в несколько папок в один фрейм данных

У меня есть CSV-файлы с именем «toyexample» в нескольких подпапках. Я хочу добавить все CSV-файлы с именем toyexample во все подпапки. Пути к папкам следующие:

C:/Users/xxx/Dropbox/College/Project1/2005Q1/
C:/Users/xxx/Dropbox/College/Project1/2005Q2/
.....
.....
C:/Users/xxx/Dropbox/College/Project1/2015Q3/
C:/Users/xxx/Dropbox/College/Project1/2015Q4/

Следовательно, вложенные папки пути варьируются от 2005Q1 до 2015Q4. В каждой из этих подпапок есть много CSV-файлов, но я хочу извлечь только тот, который называется toyexample.

Я пытаюсь сделать следующее:

import pandas as pd
import os

path = ["subfolder1", "folder2", ....."subfolder44"]
appended_file = []
subpaths = os.listdir(path)

for pa in subpaths:
    df = pd.read_csv("toyexample")
    appended_file.append(df)

Мне было интересно, как автоматизировать процесс чтения файлов из стольких разных каталогов вместо того, чтобы вводить их вручную. Мне также нужна помощь с чтением файлов (возможно, с os.path_join()) и добавлением их в один фрейм данных df

Почему в Python есть оператор "pass"?
Почему в Python есть оператор "pass"?
Оператор pass в Python - это простая концепция, которую могут быстро освоить даже новички без опыта программирования.
Некоторые методы, о которых вы не знали, что они существуют в Python
Некоторые методы, о которых вы не знали, что они существуют в Python
Python - самый известный и самый простой в изучении язык в наши дни. Имея широкий спектр применения в области машинного обучения, Data Science,...
Основы Python Часть I
Основы Python Часть I
Вы когда-нибудь задумывались, почему в программах на Python вы видите приведенный ниже код?
LeetCode - 1579. Удаление максимального числа ребер для сохранения полной проходимости графа
LeetCode - 1579. Удаление максимального числа ребер для сохранения полной проходимости графа
Алиса и Боб имеют неориентированный граф из n узлов и трех типов ребер:
Оптимизация кода с помощью тернарного оператора Python
Оптимизация кода с помощью тернарного оператора Python
И последнее, что мы хотели бы показать вам, прежде чем двигаться дальше, это
Советы по эффективной веб-разработке с помощью Python
Советы по эффективной веб-разработке с помощью Python
Как веб-разработчик, Python может стать мощным инструментом для создания эффективных и масштабируемых веб-приложений.
1
0
563
2
Перейти к ответу Данный вопрос помечен как решенный

Ответы 2

Ответ принят как подходящий

Используйте glob с recursive=True, чтобы найти пути ко всем файлам с именем toyexample.csv в вашем файловом дереве.

glob.glob("**/toyexample.csv", recursive=True)

Дает вам список путей, начинающихся в вашем текущем рабочем каталоге, для каждого toyexample.csv, который вы затем можете обработать.

с помощью пользователя ChuHo я смог выяснить следующее:

import glob
import os 
import pandas as pd

paths = glob.glob("CC:/Users/xxx/Dropbox/College/Project1/**/toyexample.csv", recursive=True)

appended_file = []
for i in paths:
    df = pd.read_csv(i)
    appended_file.append(df)
    combined=pd.concat(appended_file, axis=0, ignore_index=True, sort=False)

Другие вопросы по теме