Есть ли способ использовать метод glob.glob для перемещения файлов? - PullRequest
0 голосов
/ 20 февраля 2020

Я создал мини-проект, где python будет:

  1. Выбор и форматирование файлов xlsx;
  2. Добавление нового отчета в основной файл; и
  3. Переместите файл xlsx в конец архивной папки.

У меня нет проблем с первым и вторым шагами, я использую glob glob, чтобы сопоставить путь и файл детали шаблоны для дальнейшей работы с шагом 2. Я борюсь с третьим шагом, где я использую os.rename, чтобы изменить файл перемещения в папке архива. Я хотел бы найти способ, аналогичный функции glob.glob, для перемещения файла с соответствующим шаблоном, а не с определенным файлом, чтобы я мог планировать код и автоматизировать процесс.

Пожалуйста, смотрите код моего проекта прилагается:

import glob
import pandas as pd
import os

# STEP 1 PREPARATION

g = glob.glob('/path/part file name *')
df = pd.concat([pd.read_excel(s, skiprows=2, header=0) for s in g], ignore_index=True)
print("Step 1 Deployed: File successfully read and Branch Names were allocated;")

# STEP 2 JOIN NEW REPORT TO MASTER FILE

print("Step 2 Process Preparation: Loading Master File into the logic;")
md = pd.read_excel(master, header=0)

print("Step 2 Process Begins: new report appends to SOH master file;")
mega = md.append(df, sort=False)

mega.to_excel('/pathtodropxlsx/ filename.xlsx',
              sheet_name="Data", index=False)
print("Step 2 Finalised: File uploaded;")

# STEP 3 MOVE WEEKLY REPORT TO THE ARCHIVE FOLDER


print("Step 3 initiation: Move new report file in Archive folder")

New_report = '/path/part file name.xlsx'   #<--This is the area where I am having a trouble thinking.
                                           #I basically need to get the filename used in step 1 where I 
                                           # used glob.glob function to identify new file.

file_name = New_report.partition('reporting/')[2]
str(file_name)
os.rename(New_report, "/newpath/archive/" + file_name)
print("REPORT DATA IS UP TO DATE")
...