2016-03-09 4 views
0

Я пытаюсь сохранить вывод следующего кода в подкаталог:Сохранить панд CSV в подкаталог

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

Я создал подкаталог первый:

os.makedirs('MonthlyDataSplit') 

Но я не могу» t найти информацию о том, как использовать to_csv для сохранения в подкаталоге, а не в текущем каталоге. Один из подходов, который я думал, - использовать with "MonthlyDataSplit" open as directory, но я могу найти только эквивалент для открытия файла в подкаталоге.

+0

Не могли бы вы просто добавить путь к каталогу и перейти в качестве параметра в 'to_csv'? – EdChum

+0

как в gp [1] .to_csv (MonthlyDataSplit/filename) Я получаю сообщение об ошибке, когда MonthlyDataSplit не определен – PaulBarr

+0

не хотите 'gp [1] .to_csv (r'MonthlyDataSplit/filename ')' – EdChum

ответ

1

В принципе вы можете построить путь, включая подкаталоги и передать его в качестве пути ARG к to_csv:

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

Вы должны добавить слэш разделители индикатору, что это название директории и что это имя файла, я бы предлагают использовать os.path.join, чтобы упростить этот процесс:

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

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

для дальнейших подкаталогов вы можете просто добавить новый уровень:

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' 
+0

Вы не должны публиковать многострочный код в комментариях, форматирование теряется, IIUC, то вы можете делать 'в течение месяца в MonthsInAnalysis: path = os.path.join (root, month) path + = NewFilename grp [1] .to_csv (NewFilename) ' – EdChum

Смежные вопросы