Skip to content

ASAM ODS EXD API example plugin using pandas to read: *.xlsx

License

Notifications You must be signed in to change notification settings

peak-solution/asam_ods_exd_api_xlsx

Repository files navigation

ASAM ODS EXD-API XLSX plugin

This repository contains a ASAM ODS EXD-API plugin that uses pandas to read the Excel *.xlsx files.

This is a prove of concept.

Feature

  • Load sheet from XLSX file into groups and columns into channels.
  • Supports datetime, string, integer and floating point numbers. ** Import integer column data into float64 to avoid int64 returned by pandas.
  • Try to determine unit and description from rows leading rows.

Content

Implementation

Tests

GRPC stub

The repository contains the stubs generated from ASAM ODS protobuf files. The files that match *_pb2* are generated using the following command. To renew them you must put the proto files from the ODS standard into proto_src and rerun the command.

python -m grpc_tools.protoc --proto_path=proto_src --pyi_out=. --python_out=. --grpc_python_out=. ods.proto ods_external_data.proto

The Docker file contains generation by pulling the interface files from its origin repository.

Usage in ODS Server

sequenceDiagram

actor CLIENT as Client
participant PDTT as 🛠️Importer
participant PODS as 🗃️ASAM ODS server 
participant PLUGIN as 📊EXD-API plugin
participant FILE as 🗂️File Storage

autonumber

opt Import phase
  FILE ->>+ PDTT: New file shows up
  PDTT ->>+ PLUGIN : Get Structure
  PLUGIN -> FILE: Extract content information
  PLUGIN ->> PLUGIN: Create Structure
  PLUGIN ->>- PDTT: Return Structure
  PDTT ->> PODS: Import ODS structure
  Note right of PDTT: Create hierarchy<br/>AoTest,AoMeasurement,...
  PDTT ->>- PODS: Add External Data info
  Note right of PDTT: Attach AoFile ... for external data<br/>AoFile,AoSubmatrix,AoLocalColumn,...
end

Note over CLIENT, FILE: Now we can work with the imported files

loop Runtime phase
  CLIENT ->> PODS: Establish ODS session
  CLIENT ->> PODS: Work with meta data imported from structure
  CLIENT ->> PODS: Access external channel in preview
  PODS ->> PLUGIN: GetValues
  PLUGIN ->> FILE: Get Channel values
  PLUGIN ->> PODS: Return values of channels
  PODS ->> CLIENT: Return values needed for plot
end
Loading

About

ASAM ODS EXD API example plugin using pandas to read: *.xlsx

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published