#python #pandas #shell #databricks #azure-databricks
Вопрос:
Я попытался сохранить файл excel в базе данных azure с динамическим именем:
import pandas as pd
#initialize the excel writer
writer = pd.ExcelWriter('test.xlsx', engine='xlsxwriter')
#store your dataframes in a dict, where the key is the sheet name you want
frames = {'sheet_1': df_1, 'shet_2': df_2,
'sheet_3': df_3}
#now loop thru and put each on a specific sheet
for sheet, frame in frames.items(): # .use .items for python 3.X
frame.to_excel(writer, sheet_name = sheet)
#critical last step
writer.save()
Затем я сделал это:
%sh
sudo mv test.xslx /dbfs/mnt/
Это работает, но я хотел бы добавить дату к имени файла:
test_2= 'test' datetime.today().strftime("%d%m%y") '.xlsx'
Но я не знаю, как это сделать с %sh
Ответ №1:
если у вас есть только один файл в этом каталоге, просто сделайте
mv test*.xlsx /dbfs/mnt/....
или вы можете использовать команду дата для форматирования даты:
mv test$(date '%d%m%Y').xlsx /dbfs/mnt/....
Комментарии:
1. Спасибо, я пытался, но получил: mv: не могу сказать ‘test02092021.xlsx’: Такого файла или каталога нет. Я думаю, это происходит, когда я пишу в начале
2. да, вам нужно иметь динамическое имя в коде python. Или вы можете сделать:
mv test.xlsx /dbfs/mnt/..../test$(date '%d%m%Y').xlsx