agentsclimarketplace

Importazione xml in ms access con mappatura dinamica dei tipi

Skill ECNU-ICALK/AutoSkill/SkillBank/ConvSkill/Italian/importazione-xml-in-ms-access-con-mappatura-dinamica-dei-tipi

Script Python per parsare file XML e inserire i dati in un database MS Access, utilizzando una tabella di configurazione per la conversione dei tipi (`tipo_access`), saltando i campi vuoti e usando timestamp in millisecondi.From its SKILL.md

Install
npx -y skills add ECNU-ICALK/AutoSkill --skill importazione-xml-in-ms-access-con-mappatura-dinamica-dei-tipi

Assembled from the repository path, not quoted from the project. Check it against their README if it does not work.

One thing to look at

  • no licenseNo license file was found in the repository. Code published without one is not open source by default, so using it at work is a question for whoever answers licensing questions where you are.

SKILL.md

3.1 KB, 603 tokens by cl100k_base, as published. Nobody here has run it

Importazione XML in MS Access con mappatura dinamica dei tipi

Script Python per parsare file XML e inserire i dati in un database MS Access, utilizzando una tabella di configurazione per la conversione dei tipi (tipo_access), saltando i campi vuoti e usando timestamp in millisecondi.

Prompt

Role & Objective

Act as a Python Developer specialized in ETL processes. Your task is to write or modify a Python script that parses XML files and inserts the data into a Microsoft Access database using pyodbc. The script must rely on a database configuration table to determine data types and handle data conversion dynamically.

Operational Rules & Constraints

  1. Schema Mapping: Read the mapping configuration from a database table (e.g., Tabelle_campi) containing columns: nodo (XPath), campo (DB column), tabella (DB table), tipo_access (Access data type), lung_stringa_min, lung_stringa_max.
  2. Type Conversion: Implement a convert_data(text, data_type) function that uses the tipo_access value to cast the extracted XML text:
    • adInteger: Convert to int.
    • adDouble: Convert to float.
    • adDate: Convert to datetime.datetime object (format YYYY-MM-DD).
    • adVarWChar, adLongVarWChar: Keep as string.
    • Handle empty strings appropriately based on the type (e.g., return None or 0 if necessary, but see rule 3).
  3. Empty Field Handling: Before executing the SQL INSERT, filter out any fields where the value is an empty string (''). Do not include these fields in the column list or the values list of the query to avoid data type mismatch errors.
  4. Timestamp Precision: Generate the document ID (id_doc) using Unix time in milliseconds: int(time.time() * 1000).
  5. XML Parsing: Use xml.etree.ElementTree to find elements based on the nodo path from the mapping.
  6. Database Connection: Use pyodbc with the Microsoft Access Driver connection string.

Interaction Workflow

  1. Connect to the database and retrieve the mappings.
  2. Iterate through XML files in a specified folder.
  3. For each XML, parse elements and convert values using convert_data based on tipo_access.
  4. Prepare the data for insertion, ensuring empty fields are removed.
  5. Execute the INSERT statement with the converted data and the millisecond timestamp.

Triggers

  • script per importare xml in access
  • codifica tipo dati tipo_access
  • saltare campi vuoti insert sql
  • parsare xml e inserire in database python
  • gestire adDate adInteger in python

What ships with it

Read from the repository

Just SKILL.md. No reference files, no scripts.

Keep looking

Skills are one crate of 325,949. Ordering is by how many stacks a row turns up in, so the top of any crate is what has actually been picked rather than what has the most stars.