我有三个模块:GetInput、Main和Converter。在GetInput文件中,所有的输入值和excel数据都以列表的形式存在。在转换器文件中,我使用来自Getinput文件的那些输入值,在主文件中,我将这两个文件连接到这里。我这样做是为了让我的代码看起来更有条理。 获取输入.py:
import pandas as pd
import numpy as np
import time
def getInputs():
df = pd.read_excel('input.xlsx')
actual = df['actual'].values.tolist()
schedule = df['schedule'].values.tolist()
freq = df['frequency'].values.tolist()
ACP = df['acp'].values.tolist()
modelInput = {
'actual': actual, 'schedule': schedule, 'freq': freq, 'ACP': ACP,'df' : df
}
return modelInput
转换器.py
import pandas as pd
def fun(modelInput):
underdraw = []
overdraw = []
for i,j, in zip(schedule, actual):
dev = j - i
if dev < 0:
underdraw.append(dev)
else:
underdraw.append(0)
if dev > 0:
overdraw.append(dev)
else:
overdraw.append(0)
df['underdraw'] = pd.Series(underdraw)
df['overdraw'] = pd.Series(overdraw)
df.to_excel('mainfile.xlsx')
主.py
import pandas as pd
import numpy as np
from convert import *
from GetInputs import *
def fun1():
inpu = getInputs()
con = fun(inpu)
fun1()
当我在单个模块中运行它时,整个程序都能工作,但当我尝试将代码划分为不同的模块时,它会抛出错误。基本上,它在GetInput.py
和Converter.py
(df未定义)文件中抛出错误。我知道这是一件很基本的事情,但我不知道如何使它工作。这个程序没有需要的输出,当我在一个文件中运行它时,我已经得到了一个输出。我只想按照上面提到的格式划分代码:GetIput文件、转换器文件和主文件
将所有文件保存在同一目录中,或者使用
os
模块在主代码的顶部提到文件路径您在主代码中拼错了以下内容:
应该是:
我使用以下方法对此进行了测试:
main模块.py
转换器.py
GetInputs.py
相关问题 更多 >
编程相关推荐