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 #

These capabilities can also be overriden by specifying the capabilities key in your meltano.yml file.

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.

You can override these settings or specify additional ones in your meltano.yml by adding the settings key. Please consider adding any settings you have defined locally to this definition on MeltanoHub by making a pull request to the YAML file that defines the settings for this extractor.

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!