python - 导入模块时未定义错误“日期时间”
问题描述
python初学者并收到日期时间错误。不知道为什么。任何帮助将非常感激。
我在同一目录中有 2 个 .py 文件,model.py 和 func2.py。我正在尝试在运行 model.py 时导入 func.py。我得到的错误是NameError: name 'datetime' is not defined
模型.py:
import numpy as np
import pandas as pd
import datetime
from xlsxwriter.utility import xl_rowcol_to_cell
import func2
def data_upload(xls):
demand_df=pd.read_excel(xls,'Historical Demand',encoding = "ISO-8859-1",parse_dates=['Transaction Date'],converters={'Part Number':str})
po_df=pd.read_excel(xls,'Historical PO',encoding = "ISO-8859-1",parse_dates=['Date Order Placed', 'Date Order Received'],converters={'Part Number':str, 'Unit Cost':float,'Total Spend':float})
snapshot_df=pd.read_excel(xls,'Snapshot Summary',converters={'Part Number':str},)
other_df=pd.read_excel(xls,'Other Data',converters={'Part Number':str})
return demand_df, po_df, snapshot_df, snapshot_df, other_df
xls = pd.ExcelFile('/Users/Desktop/Input Raw Data Template.xlsx')
demand_df, po_df, snapshot_df, snapshot_df, other_df = data_upload(xls)
input_scope = 365
input_leadtime_max = 140
model_input_df = func2.scoping_analysis(demand_df,po_df,input_scope)
函数2.py:
import numpy as np
import pandas as pd
import datetime
def scoping_analysis(demand_df,po_df,input_scope):
demand_scope = []
demand_timeframe = demand_df['Transaction Date']> demand_df['Transaction Date'].max() - datetime.timedelta(days=input_scope)
demand_df = demand_df[demand_timeframe].groupby('Part Number').sum().astype(int)
demand_df = demand_df[demand_df['Transaction Quantity']>0].sort_values('Transaction Quantity',ascending=False)
demand_df.reset_index(inplace=True)
demand_scope = demand_df['Part Number'].values
po_scope = []
po_timeframe = po_df['Date Order Placed']> po_df['Date Order Placed'].max() - datetime.timedelta(days=input_scope)
po_df = po_df[po_timeframe].groupby('Part Number').sum().astype(int)
po_df = po_df[po_df['Total Spend']>0].sort_values('Total Spend',ascending=False)
po_df.reset_index(inplace=True)
po_scope = po_df['Part Number'].values
inscope_items = list(set(demand_scope).intersection(po_scope))
model_input_df = pd.DataFrame(data = inscope_items, columns=['Part Number'])
return model_input_df
追溯:
---------------------------------------------------------------------------
NameError Traceback (most recent call last)
<ipython-input-38-3db20f4cbfba> in <module>()
----> 1 model_input_df = func2.scoping_analysis(demand_df,po_df,input_scope)
2
~/Desktop/Programming/Code/SPO/func2.py in scoping_analysis(demand_df, po_df, input_scope)
1 import numpy as np
2 import pandas as pd
----> 3 import datetime
4
5 def scoping_analysis(demand_df,po_df,input_scope):
NameError: name 'datetime' is not defined
解决方案
推荐阅读
- objective-c - 如何检测到 watchOS 应用程序已终止?
- mysql - /writeReview/1 __str__ 处的 Django 模型 TypeError 返回非字符串(int 类型)
- angular - 初始加载后如何显示方向数据?
- android - Android可以在不杀死托管它的活动的情况下杀死Fragment吗?
- html - 一些按钮在 iOS 上显示为圆圈
- python - 如何在训练 tensorflow.keras 期间替换损失函数
- android - Kotlin如何枚举recyclerView中的每一行
- javascript - redux:Array.find() 不是函数
- python - 解码 unix 时间戳
- javascript - 如何在角度 8 中悬停时显示来自 json 的表列数据