Save pandas csv to sub-directory
Asked Answered
W

1

9

I am trying to save the output of the following code to a subdirectory:

for gp in g:
    filename = gp[0] + '.csv'
    print(filename)
    gp[1].to_csv(filename)

I have created the subdirectory first:

os.makedirs('MonthlyDataSplit')

But I can't find any information as to how to use to_csv to save to a subdirectory rather than the current directory. One approach I was thinking was to use the with "MonthlyDataSplit" open as directory but I can only find the equivalent for opening a file in a subdirectory.

Whithersoever answered 9/3, 2016 at 13:5 Comment(0)
I
13

Basically you can build a path including subdirectories and pass this as the path arg to to_csv:

root = 'MonthlyDataSplit'
for gp in g:
    filename = gp[0] + '.csv'
    print(filename)
    gp[1].to_csv(root + '/' + filename)

You need to add slash separators to indicator what is a directory name and what is a filename, I would propose using os.path.join to simplify this process:

In [3]:
import os
root = 'MonthlyDataSplit'
os.path.join(root, 'some_file.csv')

Out[3]:
'MonthlyDataSplit\\some_file.csv'

For further subdirectories you can just add a new level:

In [8]:
import os
root = 'MonthlyDataSplit'
day = 'Day'
subdir = os.path.join(root, day)
final_path = os.path.join(subdir, 'some_file_name')
final_path

Out[8]:
'MonthlyDataSplit\\Day\\some_file_name'
Impure answered 9/3, 2016 at 19:17 Comment(0)

© 2022 - 2024 — McMap. All rights reserved.