Python: Store directories and filenames as dataframe columns

Viewed 9676

I want to read the contents of a directory that has multiple folders and files within each directory, and assign the folder and file names as values of the columns of a dataframe.E.g. directory is 'home' and within it several folders and files in each folder. The 'folder' column will be repeated for as many files in existence in that particular folder. The output dataframe would be like that:

Folder  File
a_folder a_file
a_folder b_file
a_folder c_file
b_folder aa_file
b_folder bb_File
b_folder cc_File
etc...

What i am trying so far:

import os
import pandas as pd

folders = []
files = []
df = pd.DataFrame(columns=['Folder', 'File'])

for folder in sorted(os.listdir('home')):
    folders.append(folder)  
    for file in sorted(os.listdir('home/'+folder)):
        files.append(file)

df['Folder']=folders
df['File']=files

But apparently there is an error in my thinking as i get a mismatch error between values and index length. What i am missing here? Thanks in advance!

1 Answers
Related