【问题标题】:sort data per datetime (python, django)按日期时间排序数据(python,django)
【发布时间】:2021-09-23 05:44:17
【问题描述】:

我正在尝试按日期对我的操作进行排序。数据由与此处绘制的类似的几列组成:

Company Income datetime
X 520305 03.06.2020 11:20:00
Y 480305 06.06.2020 13:20:00

以我为例,如果用户输入的开始日期为 10.05.2020 00:00:00 到 05.06.2020 10:00:00。预期的输出将只有 X。

我希望我是清楚的,如果我感到困惑,请提前道歉。

这是我到目前为止所做的:

def home(request):
    if request.method == 'POST':
        file = request.FILES['myFile']
        csv = pd.read_csv(file)

        StartDate = request.POST.get('startdate')
        EndDate = request.POST.get('enddate')

        user_start = pd.to_datetime(StartDate)
        user_end = pd.to_datetime(EndDate)

        csv['Date'] = pd.to_datetime(csv['Date'], dayfirst=True)

        montant_init = csv.groupby("Initiateur")["Montant (centimes)"].sum()
        err_count = csv.groupby(['Résultat']).size()

        return render(request, "index.html", {'something': True, 'montant': montant_init, 'error': err_count})


html:

   {% if something %}

        <label for="startdate">Start Date (y.m.d h.m.s):</label>
        <input type="text" name="startdate"><br><br>
        <label for="enddate">End Date (y.m.d h.m.s):</label>
        <input type="text" name="enddate"><br><br>
        <input type="submit" name="submit">


        <p>{{ montant }}</p>
        <p>{{ error }}</p>

谢谢

【问题讨论】:

    标签: python django pandas csv datetime


    【解决方案1】:

    在这几行之后

    user_start = pd.to_datetime(StartDate)
    user_end = pd.to_datetime(EndDate)
    csv['Date'] = pd.to_datetime(csv['Date'], dayfirst=True)
    

    您可以简单地选择您需要的数据

    csv = csv[(csv['Date'] >= user_start) & (csv['Date'] <= user_end)]
    

    然后您可以根据需要对数据进行分组

    【讨论】:

      猜你喜欢
      • 2019-07-21
      • 1970-01-01
      • 2021-12-31
      • 2014-06-29
      • 2012-12-03
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多