Skip to content
Snippets Groups Projects
Code owners
Assign users and groups as approvers for specific file changes. Learn more.

CSV Serialization

The CSV Serialization module provides a CSV encoder for Drupal 8 Serialization API. This enables the CSV format to be used for data input and output in various circumstances.

For a full description of the module, visit the project page.

Submit bug reports and feature suggestions, or track changes in the issue queue.

Notes about the CSV encoder:

The CSV format has a number of inherent limitations not present in other formats (e.g., JSON or XML). Namely, they are:

  • A CSV cannot support an array with a depth greater than three
  • Each row in a CSV must share a common set of headers with all other rows

For these reasons, the CSV format is not well-suited for encoding all data structures--only data with a specific structure. The provided CSV encoder does not support data structures that do not meet these limitations.

Table of contents

  • Requirements
  • Installation
  • Configuration
  • Maintainers

Requirements

You should use Composer to manage your Drupal site dependencies. This may require several modifications to your application's root composer.json. You must modify your composer.json in accordance with the linked documentation before following the installation instructions. Please read the documentation if you are not familiar with the specifics of managing a Drupal site with Composer.

Installation

  • Download the csv_serialization module via Composer: composer require drupal/csv_serialization. This will only work if your Drupal application meets the requirements listed above. Alternatively, you may use Ludwig.

Configuration

  1. Navigate to Administration > Extend and enable the module.
  2. Navigate to Administration > Structure > Views and create a new view.
  3. Add a "Rest Export" display to the view.
  4. Check ONLY "csv" for Accepted request formats under Format > Serializer > Settings.
  5. Set a path for the View display under Path Settings.
  6. Change Format > Show to "fields".
  7. Add fields to the view.
  8. Verify that content exists which should be displayed in the view.
  9. Save the view.

Visit the path that you set for the view and add this additional query string: "?_format=csv". A CSV file should be automatically downloaded when you visit the URL

Maintainers