© 2025 InterSystems Corporation, Cambridge, MA. All rights reserved.Privacy & TermsGuaranteeSection 508Contest Terms
Version bump
import csv in Intersystems IRIS using embedded python
The analog of csvgen but written in embedded python.
It uses Community IRIS SQLAlchemy to make everything work.
USER>zpm "install csvgenpy"
w ##class(shvarov.csvgenpy.csv).Generate(filename_or_url, dest_table_name, [schema_name], [server=embedded_python_by_default], [append=0])
Parameters in brackets are optional.
USER>do ##class(shvarov.csvgenpy.csv).Generate("/home/irisowner/dev/data/countries.csv","countries")
USER>do ##class(shvarov.csvgenpy.csv).Generate("https://raw.githubusercontent.com/datasciencedojo/datasets/master/titanic.csv","titanic","data")
$ irispython /home/irisowner/dev/app/csvgen.py
or
import csvgen generate('file.csv','dest_table_name','schema_name')
If one of the csv cols should be a primary key provide its name as a last parameter, e.g.
do ##class(shvarov.csvgenpy.csv).Generate("/home/irisowner/dev/data/countries_dspl small.csv","countries","data",,,,"name")
so instances from data.countries could be open by country names, e.g.:
set country=##class(csvgen.sqltest).%OpenId("Albania")
write country.country
AL
Tests can be found in https://github.com/evshvarov/csvgen-python/raw/52a95662dddce63b6c8227e420f3ef2f8850f35f/tests/Test/shvarov/csvgenpy/Testcsv.cls
USER>zpm “test csvgenpy”
The repository is ready for collaboration using Docker
Clone/git pull the repo into any local directory
$ git clone https://github.com/intersystems-community/iris-embedded-python-template.git
Open the terminal in this directory and run:
$ docker-compose build
$ docker-compose up -d