Enhance SNCF script to extract NET PAYÉ EN EUROS amount
This commit is contained in:
56
scripts/export_all_csv_v2.py
Normal file
56
scripts/export_all_csv_v2.py
Normal file
@@ -0,0 +1,56 @@
|
||||
#!/usr/bin/env python3
|
||||
"""
|
||||
Dynamic script to auto-discover and process all financial statements
|
||||
"""
|
||||
|
||||
import os
|
||||
import subprocess
|
||||
import sys
|
||||
from datetime import datetime
|
||||
|
||||
def main():
|
||||
"""
|
||||
Main function to dynamically discover and process all financial statements
|
||||
"""
|
||||
import argparse
|
||||
|
||||
parser = argparse.ArgumentParser(description='Dynamically process all financial statements')
|
||||
parser.add_argument('--output-dir', default=None,
|
||||
help='Directory to save CSV output files')
|
||||
|
||||
args = parser.parse_args()
|
||||
|
||||
# Get paths
|
||||
script_dir = os.path.dirname(os.path.abspath(__file__))
|
||||
project_root = os.path.dirname(script_dir)
|
||||
data_dir = os.path.join(project_root, 'data/pdf')
|
||||
|
||||
# Set output directory
|
||||
output_dir = args.output_dir or os.path.join(project_root, 'output/csv')
|
||||
os.makedirs(output_dir, exist_ok=True)
|
||||
|
||||
print(f"\n{'='*60}")
|
||||
print(f"Dynamic Financial Statement Processor")
|
||||
print(f"Data Directory: {os.path.abspath(data_dir)}")
|
||||
print(f"Output Directory: {os.path.abspath(output_dir)}")
|
||||
|
||||
# Build command
|
||||
cmd = [sys.executable, os.path.join(script_dir, 'dynamic_processor.py'),
|
||||
'--data-dir', data_dir, '--output-dir', output_dir]
|
||||
|
||||
# Run the dynamic processor
|
||||
try:
|
||||
result = subprocess.run(cmd, check=True, capture_output=True)
|
||||
print(f"\nDiscovery Results:")
|
||||
print(result.stdout)
|
||||
|
||||
if result.returncode == 0:
|
||||
print(f"\n{'='*60}")
|
||||
print(f"Dynamic Processing Complete: CSV files saved to {os.path.abspath(output_dir)}")
|
||||
else:
|
||||
print(f"\nError during dynamic processing: exit code {result.returncode}")
|
||||
except subprocess.CalledProcessError as e:
|
||||
print(f"\nError running dynamic processor: {e}")
|
||||
|
||||
if __name__ == "__main__":
|
||||
main()
|
||||
Reference in New Issue
Block a user