【发布时间】:2019-02-02 12:04:00
【问题描述】:
此代码用于跟踪哪些交货延迟。我希望找到每个延迟交货的实例并找到与之关联的采购订单号。我当前的代码能够生成一个列表,显示指定范围内迟到的天数。但是,由于这些值存储在列表中,我无法找到与后期相关的采购订单编号。我希望在终端打印采购订单号和交货延迟天数。 (从那里我将使用 if 语句来仅查看大于 0 的值,以仅查看哪些交货延迟)。我的问题是,我如何在终端中打印采购订单号以及它旁边的延迟天数(我不知道如何执行此操作,因为“延迟天数”的所有值都存储在列表)
import csv
import pandas as pd
import datetime
def calculate(number):
fileread = pd.read_csv('otd.csv', encoding='latin-1')
Deliveryvalue = fileread['Delivery Date']
Desiredvalue = fileread['source desired delivery date']
date_format = '%m/%d/%Y'
date1 = datetime.datetime.strptime(Deliveryvalue[number], date_format)
date2 = datetime.datetime.strptime(Desiredvalue[number], date_format)
diff= date1 - date2
diff2 = diff.days
return diff2
list = []
for i in range(1,20):
list.append(calculate(i))
for y in list:
if y > 1:
print(list)
打印这个:
[0, 0, 0, 0, 0, 0, 0, 0, -7, 3, 50, 0, 0, 0, 0, 0, 1, -9, 0]
# the negative numbers are early deliveries
这是我的 csv 文件的一个虚拟示例:
【问题讨论】:
-
你的问题是什么?
-
如果您能详细说明您的要求,那就太好了。
-
@Code-Apprentice,因为我所有的值都在一个列表中,对于交货延迟的天数,我希望能够在终端中干净地打印延迟天数和旁边的采购订单号。 (从那里我会做一个 if 语句,只显示大于 0 的值,只看到延迟交货)
-
@JosephSeungJaeDollar 我已经更新了我的问题,希望对您有所帮助!
标签: python pandas csv datetime