У меня есть CSV-файл с 700 строками и 3 столбцами, содержащий информацию label
, rgb
и string
, например:
str; rgb; label; color
bones; "['255','255','255']"; 2; (241,214,145)
Aorta; "['255','0','0']"; 17; (216,101,79)
VenaCava; "['0','0','255']"; 16; (0,151,206)
Я хотел бы создать простой методдля преобразования одного уникального ввода в один уникальный вывод.
Одним из решений будет хеширование всех записей ROIDisplayColor с соответствующими записями меток в качестве словаря, например: rgb2label
:
with open("c:\my_file.csv") as csv_file:
rgb2label, label2rgb = {}, {} # rgb2str, label2str, str2label...
for row in csv.reader(csv_file):
rgb2label[row[1]] = row[2]
label2rgb[row[2]] = row[1]
Это можно просто использоватьследующим образом:
>>> rgb2label[ "['255','255','255']"]
'2'
>>> label2rgb['2']
"['255','255','255']"
Приложение является полным, но для каждого отношения требуется уникальный уникальный словарь (rgb2label
, rgb2str
, str2rgb
, str2label
и т. д.).
Существует ли более компактное решение с такой же простотой использования?