import os import json import logging from lawrisk.services.licensing_repo import _parse_import_workbook # Configure logging to see what's happening logging.basicConfig(level=logging.INFO) def main(): source_dir = r"市级初版-20251219\许可风险提示" if not os.path.exists(source_dir): print(f"Error: Directory {source_dir} not found.") return processed_count = 0 error_count = 0 for filename in os.listdir(source_dir): # Process only .xlsx files and skip temporary files if filename.endswith(".xlsx") and not filename.startswith("~$"): fpath = os.path.join(source_dir, filename) print(f"Processing {filename}...") try: with open(fpath, "rb") as f: content = f.read() # Parse the workbook using the updated logic in licensing_repo parsed = _parse_import_workbook(content, filename) # Ensure the filename in JSON matches the Excel source parsed["filename"] = filename # Derive output JSON filename (same base name as XLSX) out_name = filename.rsplit('.', 1)[0] + ".json" out_path = os.path.join(source_dir, out_name) with open(out_path, "w", encoding="utf-8") as out_f: json.dump(parsed, out_f, ensure_ascii=False, indent=2) print(f" Successfully exported to {out_name}") processed_count += 1 except Exception as e: print(f" Error processing {filename}: {e}") error_count += 1 print(f"\nProcessing finished.") print(f"Total processed: {processed_count}") print(f"Total errors: {error_count}") if __name__ == "__main__": main()