colour.read_spectral_data_from_csv_file¶
-
colour.
read_spectral_data_from_csv_file
(path, delimiter=', ', fields=None, default=0)[source]¶ Reads the spectral data from given CSV file in the following form:
390, 4.15003E-04, 3.68349E-04, 9.54729E-03 395, 1.05192E-03, 9.58658E-04, 2.38250E-02 400, 2.40836E-03, 2.26991E-03, 5.66498E-02 … 830, 9.74306E-07, 9.53411E-08, 0.00000
and returns it as an OrderedDict of dict as follows:
OrderedDict([ (‘field’, {‘wavelength’: ‘value’, …, ‘wavelength’: ‘value’}), …, (‘field’, {‘wavelength’: ‘value’, …, ‘wavelength’: ‘value’})])
- Parameters
path (unicode) – Absolute CSV file path.
delimiter (unicode, optional) – CSV file content delimiter.
fields (array_like, optional) – CSV file spectral data fields names. If no value is provided the first line of the file will be used as spectral data fields names.
default (numeric, optional) – Default value for fields row with missing value.
- Returns
CSV file content.
- Return type
OrderedDict
- Raises
RuntimeError – If the CSV spectral data file doesn’t define the appropriate fields.
Notes
A CSV spectral data file should define at least define two fields: one for the wavelengths and one for the associated values of one spectral distribution.
If no value is provided for the fields names, the first line of the file will be used as spectral data fields names.
Examples
>>> import os >>> from pprint import pprint >>> csv_file = os.path.join(os.path.dirname(__file__), 'tests', ... 'resources', 'colorchecker_n_ohta.csv') >>> sds_data = read_spectral_data_from_csv_file(csv_file) >>> pprint(list(sds_data.keys())) ['1', '2', '3', '4', '5', '6', '7', '8', '9', '10', '11', '12', '13', '14', '15', '16', '17', '18', '19', '20', '21', '22', '23', '24']