My last post was about how to remove columns from a excel in python. I needed to monitor a directory so I did it directly in python, here is the result: handle columns in a excel file in every file added to a directory.
import time
from watchdog.observers import Observer
from watchdog.events import FileSystemEventHandler
import shutil
import pandas as pd
import sys
class Watcher:
DIRECTORY_TO_WATCH = "Test"
def __init__(self):
self.observer = Observer()
def run(self):
event_handler = Handler()
self.observer.schedule(event_handler, self.DIRECTORY_TO_WATCH, recursive=True)
self.observer.start()
try:
while True:
time.sleep(5)
except:
self.observer.stop()
print("Error")
self.observer.join()
class Handler(FileSystemEventHandler):
@staticmethod
def on_any_event(event):
if event.is_directory:
return None
elif event.event_type == 'created':
print( "Received %s." % event.src_path)
fileToHandle = event.src_path
print(fileToHandle)
df = pd.read_excel(fileToHandle)
print(df)
df = df.drop(
['IDCONTRATTO', 'IDHARDWARE', 'DATAEVENTO'], axis=1)
print(df)
filename = fileToHandle.split("/")
outputFile = filename[1]
df.to_excel(outputFile)
shutil.move(outputFile, "OutputTest") # todo sostituire con il nome della dir.
if __name__ == '__main__':
w = Watcher()
w.run()
Nessun commento:
Posta un commento