2016-03-07 4 views
0
if not os.path.isdir("DirectoryName"): 
    os.makedirs("DirectoryName") 

if not os.path.isfile('FileName.xlsx'): 
    wb = openpyxl.Workbook() 
    dest_filename = 'FileName.xlsx' 

У меня следующая проблема: я хочу, чтобы создать каталог в том же каталоге, где у меня есть питон файлы и создать FileName.xlsx в каталоге: DirectoryName и гавань я Не знаю, как это сделать. Не могли бы вы мне помочь?Создайте файл первенствовать в другом каталоге

Благодаря

+1

Пробовал использовать 'DirectoryName/FileName.xslx'? – Selcuk

+0

Я пробовал это: wb = openpyxl.Workbook ('DirectoryName/FileName.xslx'), и он не работает – Jane

ответ

1

Documentation говорит, что вы можете wb.save(os.path.join('DirectoryName', 'FileName.xlsx'), as_template=False). С dest_filename = 'FileName.xlsx' вы просто присваиваете значение переменной. Итак, попробуйте:

if not os.path.isdir("DirectoryName"): 
    os.makedirs("DirectoryName") 

if not os.path.isfile('FileName.xlsx'): 
    wb = openpyxl.Workbook() 
    dest_filename = 'FileName.xlsx' 
    wb.save(os.path.join('DirectoryName', dest_filename), as_template=False) 

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

+0

большое спасибо. Он работает, но мне пришлось удалить: as_template = False – Jane

0

Попробуйте

if not os.path.exists("DirectoryName"): 
    os.makedirs("DirectoryName") 
filepath = 'DirectoryName/FileName.xlsx' 
if not os.path.isfile(filepath): 
    wb = openpyxl.Workbook(filepath) 
    wb.save(filename = filepath) 
+0

Спасибо. Я сделал это, но я забыл последнюю строку кода, извините. Он создает FileName.xlsx в том же каталоге, где у меня есть файлы python, а не в DirectoryName – Jane

+0

Это не работает. Он создает файл Filename.xlsx в том же каталоге – Jane

0

Просто используйте wb.save(file_path) для создания рабочей книги.

import openpyxl, os 

if not os.path.isdir("DirectoryName"): 
    os.makedirs("DirectoryName") 

file_path = 'DirectoryName/Filename.xlsx' 

if not os.path.isfile(file_path): 
    wb = openpyxl.Workbook() # open a workbook 
    ws = wb.active # get the active worksheet 

    # do your manipulation 

    wb.save(file_path)