SyntaxError:解析时出现意外的 EOF

新手上路,请多包涵

运行这部分代码时出现错误。我尝试了一些现有的解决方案,但没有一个有帮助。

 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

原文由 Akash Joshi 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 807
2 个回答

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,

原文由 Felix 发布,翻译遵循 CC BY-SA 3.0 许可协议

这也可能意味着您缺少或有太多括号。例如这有太多,会导致意外的 EOF

 print(9, not (a==7 and b==6)

原文由 Mike G 发布,翻译遵循 CC BY-SA 4.0 许可协议

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题