File size: 690 Bytes
009244c
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
import pdfplumber
import pandas as pd
import re

def extract_upi_transactions(pdf_path):
    transactions = []
    
    with pdfplumber.open(pdf_path) as pdf:
        for page in pdf.pages:
            text = page.extract_text()
            if text:
                lines = text.split("\n")
                for line in lines:
                    match = re.search(r'(\d{2}-\d{2}-\d{4})\s+([\w\s]+)\s+₹([\d,.]+)', line)
                    if match:
                        date, description, amount = match.groups()
                        transactions.append({"Date": date, "Description": description, "Amount": float(amount.replace(",", ""))})
    
    return pd.DataFrame(transactions)