The tap-csv Meltano extractor pulls data from Comma Separated Values (CSV) that can then be sent to a destination using a loader.

Alternative variants #

Multiple variants of tap-csv are available. This document describes the default meltanolabs variant, which is recommended for new users.

Alternative variants are:

Getting Started #

Prerequisites #

If you haven't already, follow the initial steps of the Getting Started guide:

  1. Install Meltano
  2. Create your Meltano project

Installation and configuration #

  1. Add the tap-csv extractor to your project using meltano add :

    meltano add extractor tap-csv
  2. Configure the settings below using meltano config .

Next steps #

Follow the remaining steps of the Getting Started guide:

  1. Select entities and attributes to extract
  2. Add a loader to send data to a destination
  3. Run a data integration (EL) pipeline
If you run into any issues, learn how to get help.

Capabilities #

Settings #

tap-csv requires the configuration of one of the following groups of settings:

The settings for extractor tap-csv that are known to Meltano are documented below. To quickly find the setting you're looking for, use the Table of Contents at the top of the page.

Files (files) #

Array of objects with entity, path, and keys keys:

  • entity: The entity name, used as the table name for the data loaded from that CSV.
  • path: Local path (relative to the project’s root) to the file to be ingested. Note that this may be a directory, in which case all files in that directory and any of its subdirectories will be recursively processed
  • keys: The names of the columns that constitute the unique keys for that entity.

Each input CSV file must be a traditionally-delimited CSV (comma separated columns, newlines indicate new rows, double quoted values).

The first row is the header defining the attribute name for that column and will result to a column of the same name in the database. It must have a valid format with no spaces or special characters (like for example ! or @, etc).

How to use #

Manage this setting using meltano config or an environment variable:

meltano config tap-csv set files '[...]'

export TAP_CSV_FILES='[...]'

CSV Files Definition (csv_files_definition) #

Project-relative path to JSON file holding array of objects with entity, path, and keys keys, as ascribed under Files:

[
  {
    "entity": "<entity>",
    "path": "<path>",
    "keys": ["<key>"]
  },
  // ...
]

See https://github.com/MeltanoLabs/tap-csv#settings.

How to use #

Manage this setting using meltano config or an environment variable:

meltano config tap-csv set csv_files_definition <csv_files_definition>

export TAP_CSV_CSV_FILES_DEFINITION=<csv_files_definition>

Looking for help? #

If you're having trouble getting the tap-csv extractor to work, look for an existing issue in its repository, file a new issue, or join the Meltano Slack community and ask for help in the #plugins-general channel.

Found an issue on this page? #

This page is generated from a YAML file that you can contribute changes to. Edit it on GitHub!