All Projects → continuum → Active_importer

continuum / Active_importer

Licence: mit
Define importers that load tabular data from spreadsheets or CSV files into any ActiveRecord-like ORM.

Programming Languages

ruby
36898 projects - #4 most used programming language

Projects that are alternatives of or similar to Active importer

Topaz
A simple and useful db wrapper for Crystal-lang
Stars: ✭ 56 (-83.18%)
Mutual labels:  orm, activerecord
Visidata
A terminal spreadsheet multitool for discovering and arranging data
Stars: ✭ 4,606 (+1283.18%)
Mutual labels:  spreadsheet, tabular-data
Objectivesql
ObjectiveSQL is an ORM framework in Java based on ActiveRecord pattern, which encourages rapid development and clean, codes with the least and convention over configuration.
Stars: ✭ 1,109 (+233.03%)
Mutual labels:  orm, activerecord
Baby squeel
🐷 An expressive query DSL for Active Record 4 and 5
Stars: ✭ 362 (+8.71%)
Mutual labels:  orm, activerecord
node-sheets
read rows from google spreadsheet with google's sheets api
Stars: ✭ 16 (-95.2%)
Mutual labels:  tabular-data, spreadsheet
Sqlalchemy Mixins
Active Record, Django-like queries, nested eager load and beauty __repr__ for SQLAlchemy
Stars: ✭ 441 (+32.43%)
Mutual labels:  orm, activerecord
Awesome Python Models
A curated list of awesome Python libraries, which implement models, schemas, serializers/deserializers, ODM's/ORM's, Active Records or similar patterns.
Stars: ✭ 124 (-62.76%)
Mutual labels:  orm, activerecord
Torm
Just another simple PHP ORM. You can use it, but don't ask me why I made it. :-)
Stars: ✭ 90 (-72.97%)
Mutual labels:  orm, activerecord
datapackage-m
Power Query M functions for working with Tabular Data Packages (Frictionless Data) in Power BI and Excel
Stars: ✭ 26 (-92.19%)
Mutual labels:  csv-files, tabular-data
Tui.grid
🍞🔡 The Powerful Component to Display and Edit Data. Experience the Ultimate Data Transformer!
Stars: ✭ 1,859 (+458.26%)
Mutual labels:  spreadsheet, tabular-data
Datamappify
Compose, decouple and manage domain logic and data persistence separately. Works particularly great for composing form objects!
Stars: ✭ 338 (+1.5%)
Mutual labels:  orm, activerecord
Jennifer.cr
Crystal ORM using ActiveRecord pattern with flexible query DSL
Stars: ✭ 309 (-7.21%)
Mutual labels:  orm, activerecord
Csvpack
csvpack library / gem - tools 'n' scripts for working with tabular data packages using comma-separated values (CSV) datafiles in text with meta info (that is, schema, datatypes, ..) in datapackage.json; download, read into and query CSV datafiles with your SQL database (e.g. SQLite, PostgreSQL, ...) of choice and much more
Stars: ✭ 71 (-78.68%)
Mutual labels:  activerecord, tabular-data
Openrecord
Make ORMs great again!
Stars: ✭ 474 (+42.34%)
Mutual labels:  orm, activerecord
Spreadsheet architect
Spreadsheet Architect is a library that allows you to create XLSX, ODS, or CSV spreadsheets super easily from ActiveRecord relations, plain Ruby objects, or tabular data.
Stars: ✭ 1,160 (+248.35%)
Mutual labels:  spreadsheet, activerecord
monalisa-orm
Very Simple ORM
Stars: ✭ 70 (-78.98%)
Mutual labels:  activerecord, orm
Scala Activerecord
ActiveRecord-like ORM library for Scala
Stars: ✭ 324 (-2.7%)
Mutual labels:  orm, activerecord
Awesomecsv
🕶️A curated list of awesome tools for dealing with CSV.
Stars: ✭ 305 (-8.41%)
Mutual labels:  csv-files
Rel
💎 Modern Database Access Layer for Golang - Testable, Extendable and Crafted Into a Clean and Elegant API
Stars: ✭ 317 (-4.8%)
Mutual labels:  orm
Cosmonaut
🌐 A supercharged Azure CosmosDB .NET SDK with ORM support
Stars: ✭ 309 (-7.21%)
Mutual labels:  orm

ActiveImporter

![Gitter](https://badges.gitter.im/Join Chat.svg)

Define importers that load tabular data from spreadsheets or CSV files into any ActiveRecord-like ORM.

Installation

Add this line to your application's Gemfile:

gem 'active_importer'

And then execute:

$ bundle

Or install it yourself as:

$ gem install active_importer

Usage

Define classes that you instruct on how to import data into data models.

class EmployeeImporter < ActiveImporter::Base
  imports Employee

  column 'First name', :first_name
  column 'Last name', :last_name
  column 'Department', :department do |department_name|
    Department.find_by(name: department_name)
  end
end

The importer defines what data model it imports data into, and how columns in the data source map to fields in the model. Also, by providing a block, the source value can be processed before being stored, as shown with the 'Department' column in the example above.

Once defined, importers can be invoked to import a given data file.

EmployeeImporter.import('/path/to/file.xls')

The data file is expected to contain columns with titles corresponding to the columns declared. Any extra columns are ignored. Any errors while processing the data file does not interrupt the whole process. Instead, errors are notified via some callbacks defined in the importer (see below).

Documentation

For mote detailed information about the different aspects of importing data with active_importer, refer to the following sections in the wiki.

Getting started

Diving in

Advanced features

Contributing

Contributions are welcome! Take a look at our contributions guide for details.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].