0.01
No commit activity in last 3 years
No release in over 3 years
Converts CSV to JSON for influxdb
2005
2006
2007
2008
2009
2010
2011
2012
2013
2014
2015
2016
2017
2018
2019
2020
2021
2022
2023
2024
2025
2026
 Dependencies

Runtime

< 4.0.0, ~> 3.6.0
 Project Readme

csv2influxdb

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

Converts a CSV file into JSON for influxdb

Usage

Pass in --help for full options

-d, --database      Influxdb database name (Required)
-i, --in            CSV filename to read in
-o, --out           JSON filename to output to 
-p, --pretty        Output pretty formatted json
-h, --help          Display this help message.

Installation

gem install csv2influxdb

or

git clone https://github.com/spuder/csv2influxdb.git
bundle install

Tested with ruby 2.0.0 on OSX, if you encounter issues with any other versions, please open a github issue

What it does

Takes a csv:

year internet-explorer-usage murders-per-capita
2014 67 60
2015 51 55
2016 42 45

Outputs json with influxdb table headers (name,columns,points)

{
    "name": "murders",
    "columns": [
        "year",
        "internet-explorer-usage",
        "murders-per-capita"
    ],
    "points": [
        [
            "2014",
            "67",
            "60"
        ],
        [
            "2015",
            "51",
            "55"
        ],
        [
            "2016",
            "42",
            "45"
        ]
    ]
}

Examples

#####From CSV file, to JSON file

csv2influxdb -d derp -i murders.csv -o /tmp/influxdb_murders.json

#####Use stdin -> stdout

echo '"year","internet_explorer_usage","murders_per_capita"
2004,67,60
2005,51,55
2006,42,45' | csv2influxdb -d derp
{"name":"derp","columns":["year","internet_explorer_usage","murders_per_capita"],"points":[["2004","67","60"],["2005","51","55"],["2006","42","45"]]}

Obviously the stdin/stdout option won't work well for large amounts of data

#####Pretty

csv2influxdb -p -d derp -i foo.csv -o /tmp/bar.json

Avoid using -p unnecessarily since it wastes network bandwidth

Migrating Data

  • Export data from your relational database to csv.
  • Use csv2influxdbto convert to json
  • Use a tool like influxdb-backup to import push to influxdb

Why

There are plently of online csv to json converters, why not just use that one?

I tried all the online converters (this is the best one), but none of them could quite convert a csv into json that was compatible with influxdb. (no column headers, no json with multiple keys)

###Legal csv2influxdb is created by spuder, a fan of influxdb. It comes with no guarantee. It is a community project and is not supported nor afiliated with the creators of influxdb.