Skip to main content

Convert MARC files to Excel spreadsheets and vice-versa.

Project description

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

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

marc2excel-1.2.1.tar.gz (6.7 kB view details)

Uploaded Source

File details

Details for the file marc2excel-1.2.1.tar.gz.

File metadata

  • Download URL: marc2excel-1.2.1.tar.gz
  • Upload date:
  • Size: 6.7 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No

File hashes

Hashes for marc2excel-1.2.1.tar.gz
Algorithm Hash digest
SHA256 7ee5969a8feaacf8f6b6b2abb2ebc853c8d8933b8c23687b9a89ad4741242eb0
MD5 39df2057c73278913cf199265387c825
BLAKE2b-256 0399baecdaeb8c6268faa56678fa2fddf6dc76302ef4e06117a8f86331e9c84e

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page