Usacese1 / parse_greenco.py
SuriRaja's picture
Create parse_greenco.py
526d02f verified
import re
from typing import Dict
def parse_greenco(file_text: str) -> Dict:
parsed_data = {
"Purchase Order No": "",
"Date": "",
"Supplier": "Greenco",
"Invoice Address": "",
"Delivery Address": "",
"Currency": "",
"Payment Terms": "",
"Items": []
}
try:
parsed_data["Purchase Order No"] = re.search(r"Purchase Order No\.\s+(\d+)", file_text).group(1)
parsed_data["Date"] = re.search(r"Date:\s(\d{2}-\w{3}-\d{2})", file_text).group(1)
item_pattern = re.compile(r"(\d+)\s+([\w\s]+)\s+(\d+)\s+([\d.]+)\s+([\d.]+)")
for match in item_pattern.finditer(file_text):
parsed_data["Items"].append({
"Item No": match.group(1),
"Description": match.group(2).strip(),
"Quantity": int(match.group(3)),
"Unit Price": float(match.group(4)),
"Total Price": float(match.group(5)),
})
except Exception as e:
print(f"Error parsing Greenco PO: {e}")
return parsed_data