Hi: I am trying to use the Pandas
DataFrame.to_csv
method to save a dataframe
to a csv
file:
filename = './dir/name.csv' df.to_csv(filename)
However I am getting the error:
IOError: [Errno 2] No such file or directory: './dir/name.csv'
Shouldn’t the to_csv
method be able to create the file if it doesn’t exist? This is what I am intending for it to do.
Advertisement
Answer
to_csv
does create the file if it doesn’t exist as you said, but it does not create directories that don’t exist. Ensure that the subdirectory you are trying to save your file within has been created first.
I often do something like this in my work:
import os outname = 'name.csv' outdir = './dir' if not os.path.exists(outdir): os.mkdir(outdir) fullname = os.path.join(outdir, outname) df.to_csv(fullname)
This can easily be wrapped up in a function if you need to do this frequently.