2015-06-12 4 views
0

Вот мой код до сих порКак получить несколько входов из пользовательского интерфейса?

def sbc(): #splits up dataframe by account 
    accounts = [] 
    acc = raw_input("Enter account abbreviations one at a time. Enter 'end' to load media lists.") 
    frame = rlf() 
    while True: 
     if acc == 'end': 
      break 
     else: 
      accounts.append(acc) 
     for ac in accounts: 
      frame = frame[frame['Campaign'].str.startswith(ac)] 
      path = r'C:\\Users\\CP\\Documents\\Python_WL\\'+str(ac)+str(time.strftime("%d.%m.%Y"))+'.xls' 
      if len(frame) > 50: 
       frame.to_excel(path) 

Я хочу, чтобы иметь возможность иметь несколько записей в «счете», однако, когда я запускаю программу она позволяет мне только для ввода одного значения. Я вдвойне смущен, потому что другая часть кода делает повторять так, как я хочу его на «счет», что код бытия:

def rlf(): #removes low fill rate 
    frame = rbs() 
    inputted_fill_rate = raw_input("Fill Rate cutoff? (Format: 0.nn): ") 
    return frame[frame['Fill Rate'] >= float(inputted_fill_rate)] 

ответ

1

переместить raw_input вызов внутри цикла. Вероятно, вы также захотите удалить абзац в петлю for.

def sbc(): #splits up dataframe by spotx account 
    accounts = [] 
    frame = rlf() 
    while True: 
     acc = raw_input("Enter account abbreviations one at a time. Enter 'end' to load media lists.") 
     if acc == 'end': 
      break 
     else: 
      accounts.append(acc) 
    for ac in accounts: 
     frame = frame[frame['Campaign'].str.startswith(ac)] 
     path = r'C:\\Users\\CP\\Documents\\Python_WL\\'+str(ac)+str(time.strftime("%d.%m.%Y"))+'.xls' 
     if len(frame) > 50: 
      frame.to_excel(path) 
+0

Это было! Спасибо, я буду смотреть мой отступ в следующий раз – bpr

+0

@bpr: не забудьте отметить ответ как принятый, если он решает вашу проблему. –

Смежные вопросы