This project comprises a suite of Python scripts designed to parse and process EBCDIC FILE . It automates the ingestion, validation, and processing of financial transaction data, facilitating streamlined reconciliation and settlement processes.
- File Parsing: Extracts and processes transaction data from AMEX clearing files.
- Database Interaction: Inserts processed data into SQL databases for further analysis and reporting.
- Error Handling: Implements robust error logging and handling mechanisms to ensure data integrity and facilitate troubleshooting.
- Email Notifications: Sends automated email notifications on process milestones or in case of errors.
- Multiprocessing Support: Leverages Python's multiprocessing capabilities for efficient data processing.
- Stored Procedure Integration: Calls SQL stored procedures for specific data manipulation tasks.
- Python 3.6 or newer
- pyodbc
- pandas
- numpy
- smtplib (for email notifications)
- sqlalchemy (optional, for certain database interactions)
- A SQL Server database setup to receive the processed data
- Clone this repository to your local machine.
- Ensure that Python 3.6+ is installed.
- Install the required Python packages:
pip install pyodbc pandas numpy- Update the database connection strings in
SQL_Connections.pyto point to your SQL Server database. - Configure the email settings in
Mail.pyto enable email notifications.
- Place the AMEX clearing files in the designated input directory as specified in
SetUp.py. - Run
AMEXClr_DownLoader.pyto initiate the processing of clearing files:
python AMEXClr_DownLoader.py- Monitor the process logs for any errors or confirmation of successful execution.
AMEXClr_DownLoader.py: Orchestrates the downloading and initial handling of AMEX clearing files.AMEX_Select_And_Updates.py: Handles selection and update operations on the database.AMEX_SPCall.py: Manages calls to stored procedures for data processing.Functions.py: Contains utility functions used across the project.Logger.py: Implements logging functionality.Mail.py: Manages sending of email notifications.MultiProcess.py: Implements multiprocessing for efficient data processing.SQL_Connections.py: Manages database connections and queries.
Contributions are welcome. Please open an issue or submit a pull request with your proposed changes or improvements.