Python 错误';日期时间';导入模块时未定义
python初学者,遇到日期时间错误。不知道为什么。任何帮助都将不胜感激 我在同一目录中有2个.py文件,model.py和func2.py。运行model.py时,我正在尝试导入func.py。我得到的错误是name错误:未定义名称“datetime” model.py:Python 错误';日期时间';导入模块时未定义,python,datetime,Python,Datetime,python初学者,遇到日期时间错误。不知道为什么。任何帮助都将不胜感激 我在同一目录中有2个.py文件,model.py和func2.py。运行model.py时,我正在尝试导入func.py。我得到的错误是name错误:未定义名称“datetime” model.py: import numpy as np import pandas as pd import datetime from xlsxwriter.utility import xl_rowcol_to_cell import f
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)
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
func2.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)
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
---------------------------------------------------------------------------
NameError回溯(最近一次呼叫上次)
在()
---->1模型输入函数=函数2.范围分析(需求函数、采购函数、输入函数范围)
2.
范围分析中的~/Desktop/Programming/Code/SPO/func2.py(需求、采购、输入范围)
1作为np导入numpy
2进口熊猫作为pd
---->3导入日期时间
4.
5定义范围分析(需求定义、采购定义、输入范围):
NameError:未定义名称“datetime”
你能在问题中包含完整的回溯吗?我想说,它是在read\u excel中提出的,因为“解析日期”。请包括stacktrace。@glibdud traceback addtry重新启动ipython内核datetime
是标准库的一部分,因此我的第一个怀疑是,您过去曾在iPython中意外地隐藏了该名称。我不确定它是如何给出那个特定的错误的,但这些问题可以通过iPython以非直观的方式表现出来。@roganjosh重启内核就做到了。谢谢大家的意见