In [49]:
import pandas as pd
from pandas.io.excel import ExcelFile

In [50]:
infile = ExcelFile('ColorBrewer_all_schemes_RGBonly3.XLS')

In [51]:
df = infile.parse(infile.sheet_names[0])

In [52]:
df_fill = df.fillna(method = 'ffill')

In [53]:
df_fill.head()


Out[53]:
ColorName NumOfColors Type CritVal ColorNum ColorLetter R G B SchemeType
0 Accent 3 qual NaN 1 A 127 201 127 Qualitative
1 Accent 3 qual NaN 2 B 190 174 212 Qualitative
2 Accent 3 qual NaN 3 C 253 192 134 Qualitative
3 Accent 4 qual NaN 1 A 127 201 127 Qualitative
4 Accent 4 qual NaN 2 B 190 174 212 Qualitative

In [54]:
df_fill = df_fill.drop(['Type', 'ColorLetter'], axis = 1)

In [55]:
df_fill.head()


Out[55]:
ColorName NumOfColors CritVal ColorNum R G B SchemeType
0 Accent 3 NaN 1 127 201 127 Qualitative
1 Accent 3 NaN 2 190 174 212 Qualitative
2 Accent 3 NaN 3 253 192 134 Qualitative
3 Accent 4 NaN 1 127 201 127 Qualitative
4 Accent 4 NaN 2 190 174 212 Qualitative

In [56]:
#df_key = pd.factorize(pd.lib.fast_zip([df_fill.ColorName, df_fill.NumOfColors]))

In [57]:
#df_key[0]

In [58]:
#df_fill.index = df_key[0]

In [59]:
df_fill.head(40)


Out[59]:
ColorName NumOfColors CritVal ColorNum R G B SchemeType
0 Accent 3 NaN 1 127 201 127 Qualitative
1 Accent 3 NaN 2 190 174 212 Qualitative
2 Accent 3 NaN 3 253 192 134 Qualitative
3 Accent 4 NaN 1 127 201 127 Qualitative
4 Accent 4 NaN 2 190 174 212 Qualitative
5 Accent 4 NaN 3 253 192 134 Qualitative
6 Accent 4 NaN 4 255 255 153 Qualitative
7 Accent 5 NaN 1 127 201 127 Qualitative
8 Accent 5 NaN 2 190 174 212 Qualitative
9 Accent 5 NaN 3 253 192 134 Qualitative
10 Accent 5 NaN 4 255 255 153 Qualitative
11 Accent 5 NaN 5 56 108 176 Qualitative
12 Accent 6 NaN 1 127 201 127 Qualitative
13 Accent 6 NaN 2 190 174 212 Qualitative
14 Accent 6 NaN 3 253 192 134 Qualitative
15 Accent 6 NaN 4 255 255 153 Qualitative
16 Accent 6 NaN 5 56 108 176 Qualitative
17 Accent 6 NaN 6 240 2 127 Qualitative
18 Accent 7 NaN 1 127 201 127 Qualitative
19 Accent 7 NaN 2 190 174 212 Qualitative
20 Accent 7 NaN 3 253 192 134 Qualitative
21 Accent 7 NaN 4 255 255 153 Qualitative
22 Accent 7 NaN 5 56 108 176 Qualitative
23 Accent 7 NaN 6 240 2 127 Qualitative
24 Accent 7 NaN 7 191 91 23 Qualitative
25 Accent 8 NaN 1 127 201 127 Qualitative
26 Accent 8 NaN 2 190 174 212 Qualitative
27 Accent 8 NaN 3 253 192 134 Qualitative
28 Accent 8 NaN 4 255 255 153 Qualitative
29 Accent 8 NaN 5 56 108 176 Qualitative
30 Accent 8 NaN 6 240 2 127 Qualitative
31 Accent 8 NaN 7 191 91 23 Qualitative
32 Accent 8 NaN 8 102 102 102 Qualitative
33 Blues 3 NaN 1 222 235 247 Sequential
34 Blues 3 NaN 2 158 202 225 Sequential
35 Blues 3 NaN 3 49 130 189 Sequential
36 Blues 4 NaN 1 239 243 255 Sequential
37 Blues 4 NaN 2 189 215 231 Sequential
38 Blues 4 NaN 3 107 174 214 Sequential
39 Blues 4 NaN 4 33 113 181 Sequential

In [60]:
df_fill.to_excel('ColorBrewer_all_schemes_RGBonly3_updated.XLS', sheet_name = 'Sheet1')

In [61]:
df_fill.to_csv('ColorBrewer_all_schemes_RGBonly3_updated.csv', header = False)

In [65]:
test_in = pd.read_csv('ColorBrewer_all_schemes_RGBonly3_updated.csv')

In [66]:
test_in.head()


Out[66]:
0 Accent 3.0 Unnamed: 3 1.0 127.0 201.0 127.0.1 Qualitative
0 1 Accent 3 NaN 2 190 174 212 Qualitative
1 2 Accent 3 NaN 3 253 192 134 Qualitative
2 3 Accent 4 NaN 1 127 201 127 Qualitative
3 4 Accent 4 NaN 2 190 174 212 Qualitative
4 5 Accent 4 NaN 3 253 192 134 Qualitative
Out[66]:
0 Accent 3.0 Unnamed: 3 1.0 127.0 201.0 127.0.1 Qualitative
0 1 Accent 3 NaN 2 190 174 212 Qualitative
1 2 Accent 3 NaN 3 253 192 134 Qualitative
2 3 Accent 4 NaN 1 127 201 127 Qualitative
3 4 Accent 4 NaN 2 190 174 212 Qualitative
4 5 Accent 4 NaN 3 253 192 134 Qualitative
Out[66]:
0 Accent 3.0 Unnamed: 3 1.0 127.0 201.0 127.0.1 Qualitative
0 1 Accent 3 NaN 2 190 174 212 Qualitative
1 2 Accent 3 NaN 3 253 192 134 Qualitative
2 3 Accent 4 NaN 1 127 201 127 Qualitative
3 4 Accent 4 NaN 2 190 174 212 Qualitative
4 5 Accent 4 NaN 3 253 192 134 Qualitative

In [ ]: