2016-11-23 5 views
-2

У меня есть таблица Excel, которую я читаю с помощью python. Я искал способ, которым я мог бы запросить первый столбец электронной таблицы и назначить каждую ячейку из этого столбца переменной. Количество ячеек в столбце, у которых есть данные, может измениться завтра для ex. таблицы Excel:Динамические строки в dataframe pandas

Names 
Mike 
Adam 
Mitchell 

Желаемый результат: Name1 = Mike; Name2 = Adam; Name3 = Mitchell. Если завтра не Mitchell в списке, или если есть дополнительное имя, которое я бы или 3 Имя переменной или соответственно 4. My попробовать до сих пор было:

for i in db.index: 
if i == 1: 
    Name1 = db.ix[0]['Names'] 
else: 
    if i==2: 
     Name2 = db.ix[1]['Names'] 
    else: 
     if i==3: 
      Name3 = db.ix[2]['Names'] 
     else: 
      Name4 = db.ix[3]['Names'] 

Спасибо и извинения за любые mystakes

+1

Почему явные переменные, такие как 'Name1' и' Name2'? Почему не такой массив, как «Имена», который вы можете индексировать с помощью «Имена [0]» и «Имена [1]»? Жестко закодированные переменные могут помочь вам в углу позже. – chrisaycock

+0

Как бы это выглядело в моем случае Крис (массив с индексом). Мне нужна переменная Name1, Name2 и т. Д. Позже, когда я использую их для сортировки некоторых других данных. –

ответ

0

Мне удаётся исправить это, если у кого-то другая проблема. Я использую 2 списка и объединяю их в словарь.

names= db['Names'].tolist() 
lst = [] 
for i in range(db.index): 
    lst.append(i) 
lst=['Name'+str(x)for x in lst] 
dictionary = dict(zip(lst, names)) 
Смежные вопросы