import json def parse_journal_entries(file_path): entries = [] current_entry = {} with open(file_path, 'r') as file: for line in file: line = line.strip() if line.startswith('│'): account, amount = line[1:].split() current_entry['entries'].append({ 'account': account, 'amount': float(amount) }) elif line: if current_entry: entries.append(current_entry) current_entry = {'date': line, 'entries': []} if current_entry: entries.append(current_entry) return entries def convert_to_json(entries): formatted_entries = [] for entry in entries: formatted_entry = { 'date': entry['date'], 'entries': [] } for sub_entry in entry['entries']: formatted_entry['entries'].append({ sub_entry['account']: sub_entry['amount'] }) formatted_entries.append(formatted_entry) return json.dumps(formatted_entries, indent=4) file_path = 'main.gl' journal_entries = parse_journal_entries(file_path) json_data = convert_to_json(journal_entries) print(json_data)