The London Perl and Raku Workshop takes place on 26th Oct 2024. If your company depends on Perl, please consider sponsoring and/or attending.

NAME

Spreadsheet::Compare::Reader::CSV - CSV File Adapter for Spreadsheet::Compare

DESCRIPTION

This module provides an init/fetch interface for reading records from CSV files. It uses Text::CSV to do the heavy lifting. This allows the interface to have maximal flexibility.

ATTRIBUTES

If not stated otherwise, read write attributes can be set as options from the config file passed to Spreadsheet::Compare or spreadcomp.

csv

(readonly) The Text::CSV instance.

csv_options

  possible values: <hash>
  default: { allow_whitespace : 1 }

Example:

  csv_options:
    allow_loose_quotes: 1
    allow_whitespace: 1
    sep: ';'

A reference to a hash with options for calling the Text::CSV constructor.

filehandle

(readonly) The filehandle for "filename".

filename

(readonly) The filename of the used CSV file for this reader. Use "files" for filename specification.

files

  possible values: <list of exactly 2 filenames>
  default: []

Example:

  files:
    - ./left_dir/data.csv
    - ./right_dir/data.csv

Relative filenames will be interpreted releative to "rootdir"

fix_empty_header

  possible values: <bool>
  default: 1

If a header entry does not contain at least one non space character replace it with 'unnamed_<n>' with a simple counter <n>;

make_header_unique

  possible values: <bool>
  default: 0

If there should be duplicate header names, append an counter '_<n>' to make the header name unique.

rootdir

Set by Spreadsheet::Compare during reader initialisation. Same as "rootdir" in Spreadsheet::Compare.

sep_auto

  possible values: <list of possible separators>
  default: undef

Example:

  sep_auto: [ ";", ",", "|", "\t" ]

Set the list of possible separators in header detection. If left undefined the value set by sep or sep_char in "csv_options" will be used. (see sep_set in "Options" in Text::CSV).

skip_after_head

  possible values: <integer>
  default: 0

Number of lines to skip after reading the header line.

skip_before_head

  possible values: <integer>
  default: 0

Number of lines to skip at the beginning of the files before reading the header line.

METHODS

Spreadsheet::Compare::Reader::CSV inherits or overwrites all methods from Spreadsheet::Compare::Reader.