我正在尝试运行这段代码并解决一些问题。我首先尝试插入"BOD“作为输出的名称,将"6”作为输入参数的数量。
import os
import numpy as np
import pandas as pd
from pandas import ExcelWriter
from numpy import *
OutputName = input('please enter the name of the output (BOD,COD,TSS)');
InputNum = input('please enter the number of input parameters (6 or 12) = ');
file_name = 'biowin_withMalfunction.xlsx'
if OutputName == 'BOD':
Output_num=1
if InputNum == 6:
Data = pd.read_excel(open(r'C:\Users\Elisa\test_conv_Fatone\biowin_withMalfunction.xlsx', 'rb'), sheet_name='ANN full data for BOD_6Params')
print (Data)
elif InputNum ==12:
Data = pd.read_excel(open(r'C:\Users\Elisa\test_conv_Fatone\biowin_withMalfunction.xlsx', 'rb'), sheet_name='ANN full data for BOD')
elif OutputName == 'COD':
Output_num=2
if InputNum == 6:
Data = pd.read_excel(open(r'C:\Users\Elisa\test_conv_Fatone\biowin_withMalfunction.xlsx', 'rb'), sheet_name='ANN full data for COD_6ParamsD')
elif InputNum ==12:
Data = pd.read_excel(open(r'C:\Users\Elisa\test_conv_Fatone\biowin_withMalfunction.xlsx', 'rb'), sheet_name='ANN full data for COD')
else:
Output_num=3
if InputNum == 6:
Data = pd.read_excel(open(r'C:\Users\Elisa\test_conv_Fatone\biowin_withMalfunction.xlsx', 'rb'), sheet_name='ANN full data for TSS_6Params')
elif InputNum ==12:
Data = pd.read_excel(file_name, sheet_name="ANN full data for TSS")
index = Output_num -3;
X = Data[0:end-2,0:end]错误是:
Traceback (most recent call last):
File "C:\Users\Elisa\test_conv\ANN_Converted.py", line 42, in <module>
X = Data[0:end-2,0:end]
NameError: name 'Data' is not defined似乎变量数据不是用pd.reading创建的,实际上,如果我尝试print( Data ),它就不存在了。有人能帮我找出这个问题吗?我可以共享输入excel文件吗?多么?
发布于 2021-09-22 13:45:11
想想你的条件。如果每个单独的测试都是False,会发生什么?如果所有的测试都是False,会发生什么?
您的决策树中有一个路径,其中没有打开任何文件。这是当前获取的,因此Data不存在,正如您所确定的那样。
在这种情况下,问题很可能是input()返回一个字符串,而您正在测试一个整数。
因此,要么对字符串进行测试:
if inputNum == "5"或将inputNum转换为int:
inputNum = int(inputNum)在你做任何测试之前。
https://stackoverflow.com/questions/69285376
复制相似问题