我在运行这部分代码时遇到错误。尝试了一些现有的解决方案,但都没有帮助
elec_and_weather = pd.read_csv(r'C:\HOUR.csv', parse_dates=True,index_col=0)
# Add historic DEMAND to each X vector
for i in range(0,24):
elec_and_weather[i] = np.zeros(len(elec_and_weather['DEMAND']))
elec_and_weather[i][elec_and_weather.index.hour==i] = 1
# Set number of hours prediction is in advance
n_hours_advance = 24
# Set number of historic hours used
n_hours_window = 24
for k in range(n_hours_advance,n_hours_advance+n_hours_window):
elec_and_weather['DEMAND_t-%i'% k] = np.zeros(len(elec_and_weather['DEMAND']))'
我总是得到这个错误
for i in range(0,24):
File "<ipython-input-29-db3022a769d1>", line 1
for i in range(0,24):
^
SyntaxError: unexpected EOF while parsing
File "<ipython-input-25-df0a44131c36>", line 1
for k in range(n_hours_advance,n_hours_advance+n_hours_window):
^
SyntaxError: unexpected EOF while parsing
SyntaxError: unexpected EOF while parsing
表示在完成所有代码块之前已到达源代码的结尾。代码块以for i in range(100):
之类的语句开头,之后至少需要一行包含应该在其中的代码。
看起来你在ipython控制台中逐行执行你的程序。这适用于像a = 3
这样的单个语句,但不适用于for循环等代码块。请参阅以下示例:
In [1]: for i in range(100):
File "<ipython-input-1-ece1e5c2587f>", line 1
for i in range(100):
^
SyntaxError: unexpected EOF while parsing
要避免此错误,您必须将整个代码块作为单个输入输入:
In [2]: for i in range(5):
...: print(i, end=', ')
0, 1, 2, 3, 4,
我的语法错误半隐藏在f-string中
print(f'num_flex_rows = {self.}\nFlex Rows = {flex_rows}\nMax elements = {max_elements}')
应该
print(f'num_flex_rows = {self.num_rows}\nFlex Rows = {flex_rows}\nMax elements = {max_elements}')
它没有错误下的PyCharm拼写检查红线。
它确实给了我一个线索,但当我搜索这个错误消息时,它当然没有在上面的代码中找到错误。
如果我更仔细地查看错误消息,我会在错误中找到''。看到第1行是令人沮丧的,因此没有密切注意:-(寻找
自。)
一无所获。正在寻找
自。
实际上产生了一切: -
如果我可以帮助你避免甚至一分钟检查你的代码,那么任务就完成了:-)
C:\ Python \ Anaconda3 \ python.exe C:/Python/PycharmProjects/FlexForms/FlexForm.py文件“”,第1行(自我。)^ SyntaxError:解析时意外的EOF
进程以退出代码1结束
这也可能意味着您缺少或括号过多。例如,这个太多了,会导致意外的EOF:
print(9, not (a==7 and b==6)
这是我的一个错误产生了这个例外:我有一个没有任何try
或except
块的finally
块。这不起作用:
try:
lets_do_something_beneficial()
要解决此问题,请添加except
或finally
块:
try:
lets_do_something_beneficial()
finally:
lets_go_to_sleep()
初始for循环时有2个空格,需要为4或制表符。
elec_and_weather['DEMAND_t-%i'% k] = np.zeros(len(elec_and_weather['DEMAND']))'
错误出现在您拥有(')符号的行的末尾;此错误始终表示您有语法错误。