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']