marc2excel

Convert MARC files to Excel spreadsheets and vice-versa.


License
BSD-3-Clause
Install
pip install marc2excel==1.2.1

Documentation

marc2excel

Test success Test coverage Latest version released on PyPi

Convert MARC files to Excel spreadsheets and vice-versa.

Installation

From PyPI:

pip install marc2excel

From GitHub:

git clone https://github.com/alexandermendes/marc2excel
cd marc2excel
python setup.py install

Usage

Running scripts:

The following scripts can be run from anywhere, once the package is installed.

Converting MARC to Excel:

Usage: marc2excel_cli.py [OPTIONS] MARC_PATH

  Convert MARC_PATH to an Excel spreadsheet.

  The path to the saved spreadsheet will be the same as MARC_PATH but with a
  .xlsx extension.

  If a directory is specified for MARC_PATH all files found in that
  directory with .mrc, .marc or .lex extensions will be converted and the
  .xlsx versions saved in the same directory.

  The option to force utf-8 encoding is included to help deal with any
  poorly formed MARC records that you might encounter. For example, those
  that are utf-8 encoded but without the leader set appropriately, or those
  that contain mostly utf-8 data but with a few non-utf-8 characters (any
  non-utf-8 characters will be replaced with the official U+FFFD REPLACEMENT
  CHARACTER).

Options:
  -d        Specify a directory for MARC_PATH.
  --silent  Don't display progress.
  --utf8    Force utf-8 encoding.
  --help    Show this message and exit.

Converting Excel to MARC:

Usage: excel2marc_cli.py [OPTIONS] EXCEL_PATH

  Convert EXCEL_PATH to an MARC file.

  The path to the saved MARC file will be the same as EXCEL_PATH but with a
  .mrc extension.

  If a directory is specified for EXCEL_PATH all files found in that
  directory with .xlsx extensions will be converted and the .mrc versions
  saved in the same directory.

  The option to force utf-8 encoding is included to help deal with any
  poorly formed data found in the spreadsheet. For example, where rows
  contain data that is utf-8 encoded but without the leader set
  appropriately, or rows that contain mostly utf-8 data but with a few non-
  utf-8 characters (any non-utf-8 characters will be replaced with the
  official U+FFFD REPLACEMENT CHARACTER).

Options:
  -d        Specify a directory for EXCEL_PATH.
  --silent  Don't display progress.
  --utf8    Force utf-8 encoding.
  --help    Show this message and exit.

Running from Python:

Converting MARC to Excel:

import marc2excel
marc2excel.marc2excel('path/to/file.mrc', 'path/to/save/file.xls')

Converting Excel to MARC:

import marc2excel
marc2excel.excel2marc('path/to/file.xls', 'path/to/save/file.mrc')

Spreadsheet guidelines

Spreadsheets require a header row that must adhere to the following guidelines:

  • The field tag is required for all fields.
  • For non-control fields, the indicator and subfield tags are also required.
  • Backslashes should be used to indicate blank spaces in indicators.
  • Subfields should be prepended with a dollar symbol.
  • Leaders can be added from a column with the heading LDR (optional).
  • Repeated fields can be created by appending headers with [number].

Example:

001 245 \\ $a 852 \1 $j 852 \1 $j [2]
123 some_value another_value another_value

Testing

Tests can be run using:

python setup.py test