SyntaxError: EOF inesperado durante a análise

Estou a receber erros enquanto corro esta parte do código. tentei algumas das soluções existentes, nenhuma delas ajudou

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']))'

Estou sempre a receber este erro.

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
Solução

O SyntaxError: unexpected EOF while parsing' significa que o fim do seu código fonte foi alcançado antes que todos os blocos de código fossem completados. Um bloco de código começa com uma declaração comofor i in range(100):` e requer pelo menos uma linha depois que contenha o código que deveria estar nele.

Parece que você estava executando seu programa linha por linha no console do ipython. Isto funciona para instruções simples como a = 3 mas não para blocos de código como para loops. Veja o exemplo a seguir:

In [1]: for i in range(100):
  File "", line 1
    for i in range(100):
                        ^
SyntaxError: unexpected EOF while parsing

Para evitar este erro, é necessário entrar o bloco de código inteiro como uma única entrada:

In [2]: for i in range(5):
   ...:     print(i, end=', ')
0, 1, 2, 3, 4,
Comentários (0)

O meu erro de sintaxe estava semi-escondido num fio-dental.

 print(f'num_flex_rows = {self.}\nFlex Rows = {flex_rows}\nMax elements = {max_elements}')

deveria ser

 print(f'num_flex_rows = {self.num_rows}\nFlex Rows = {flex_rows}\nMax elements = {max_elements}')

Ele não'não tinha a linha de verificação ortográfica PyCharm sob o erro.

Deu-me uma pista, mas quando procurei nesta mensagem de erro, é claro que não encontrei o erro naquele pedaço de código acima.

Se eu tivesse olhado mais de perto a mensagem de erro, eu teria encontrado o '' no erro. Ver a Linha 1 foi desencorajador e assim estava't prestando muita atenção :-( Procurando por

self.)

não rendeu nada. Procurando por

self.

rendeu praticamente tudo :-\i1

Se eu puder ajudá-lo a evitar até mesmo um minuto a mais de deskchecking do seu código, então missão cumprida :-)

C:\Python Anaconda3\python.exe C:/Python/PycharmProjects/FlexForms/FlexForm.py File "", linha 1 (self.) ^ SyntaxError: EOF inesperado durante a análise

Processo terminado com o código de saída 1

Comentários (0)

Aqui está um dos meus erros que produziu esta excepção: Eu tive um bloco de "tentativa" sem nenhum "exceto" ou "definitivamente" blocos. Isto não vai funcionar:

tente:
    lets_do_something_beneficial()

Para corrigir isso, adicione um bloco "exceto" ou "definitivamente":

tente:
    lets_do_something_beneficial()
finalmente:
    lets_go_to_sleep()
Comentários (0)