Python创建用户输入表单并将输入转换为数据框

时间:2016-12-16 14:30:25

标签: python forms input dynamic dataframe

我正在尝试在iPython / Jupyter 3中创建一个动态用户输入表单。我希望用户能够通过在输入框中输入内容来指定以下内容:

  1. 部分时间
  2. Day Part的开始时间
  3. 日期结束时间
  4. 在输入框中输入值后,我希望自动创建以下数据框。

    以下是一个例子:

    Day-Part        Start Time     End Time     
    Morning         6:00           09:59
    Lunch           10             12:59
    Afternoon Rush  13:00          15:50 
    Evening         22:00          24:00
    

    棘手的部分是这一切都需要是动态的。我需要用户能够指定任意数量的“日期部分”。例如,用户只能有两天的零件,每个零件的开始和结束时间为每个零件或15天零件,每个零件的开始和结束时间。

    无论用户最终输入什么内容,都需要将其转换为数据框,以便我以后的代码进行摄取。

    *非常感谢任何帮助!

2 个答案:

答案 0 :(得分:3)

您可以实现以下内容:

import pandas as pd

df = pd.DataFrame(columns=["Day-Part", "Start Time", "End Time"])
parts = int(raw_input("Enter the number of day parts:"))

for _ in range(parts):
    dp = raw_input("Enter Part of the Day ")
    st = raw_input("Enter start time for {}".format(dp))
    et = raw_input("Enter end time for {}".format(dp))
    df1 = pd.DataFrame(data=[[dp,st,et]],columns=["Day-Part", "Start Time", "End Time"])
    df = pd.concat([df,df1], axis=0)

df.index = range(len(df.index))
print df

答案 1 :(得分:-3)

import pandas as pd

df = pd.DataFrame(columns=["Day-Part", "Start Time", "End Time"])
parts = int(raw_input("Enter the number of day parts:"))

for _ in range(parts):
    dp = raw_input("Enter Part of the Day ")
    st = raw_input("Enter start time for {}".format(dp))
    et = raw_input("Enter end time for {}".format(dp))
    df1 = pd.DataFrame(data=[[dp,st,et]],columns=["Day-Part", "Start Time", "End Time"])
    df = pd.concat([df,df1], axis=0)

df.index = range(len(df.index))
print df