0

I have a color data file that gives the color name and its RGB values, for instance like this:

red RGB(255,0,0)
green RGB(0,128,0)
blue RGB(0,0,255)
brown RGB(165,42,42)
gold RGB(255,215,0)
maroon RGB(128,0,0)

I like to create a color dictionary from this file that looks like this:

{'red': (255,0,0), 'green': (0,128,0), 'blue': (0,0,255), ...}

How can I best do that?

2
Contributors
2
Replies
3
Views
10 Years
Discussion Span
Last Post by sneekula
0

If the data are packaged as neatly as your file shows, then I would recommend using .split() and then eval() to convert the parenthesized string to a tuple:

f = open("my_data")
colors = {}
for line in f:
   line = line.strip('\n')
   name, value = line.split(' RGB ')
   colors[name] = eval(value)  # converts string to tuple

Jeff

0

Jeff, thanks. I had to change the split separator from ' RGB ' to ' RGB' to make it work.

This question has already been answered. Start a new discussion instead.
Have something to contribute to this discussion? Please be thoughtful, detailed and courteous, and be sure to adhere to our posting rules.