The “invalid nibble” error is usually associated with an improper conversion such as mapping an integer to a decimal data type or improper mapping of a packed decimal mapping to a FLOAT datatype.
For mapping external data, the Oracle docs note that nls_lang is a issue:
The numeric EXTERNAL datatypes are the numeric datatypes (INTEGER, FLOAT, DECIMAL, and ZONED) specified with the EXTERNAL keyword, with optional length and delimiter specifications.
Sometimes the “invalid nibble” can be caused by an incorrect NLS_LANG setting for the database, where an Oracle tables column was expecting a "," and not a decimal.