J'obtiens une erreur en exécutant cette partie du code. J'ai essayé certaines des solutions existantes, mais aucune ne m'a aidé.
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']))'
J'obtiens toujours cette erreur
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
L'erreur SyntaxError : unexpected EOF while parsing
signifie que la fin de votre code source a été atteinte avant que tous les blocs de code aient été complétés. Un bloc de code commence par une instruction comme for i in range(100):
et doit être suivi d'au moins une ligne contenant le code qui devrait s'y trouver.
Il semble que vous exécutiez votre programme ligne par ligne dans la console ipython. Cela fonctionne pour des instructions simples comme a = 3
mais pas pour des blocs de code comme les boucles for. Voyez l'exemple suivant :
In [1]: for i in range(100):
File "<ipython-input-1-ece1e5c2587f>", line 1
for i in range(100):
^
SyntaxError: unexpected EOF while parsing
Pour éviter cette erreur, vous devez saisir l'ensemble du bloc de code en une seule fois :
In [2]: for i in range(5):
...: print(i, end=', ')
0, 1, 2, 3, 4,
Mon erreur de syntaxe était semi-cachée dans une chaîne de caractères F.
print(f'num_flex_rows = {self.}\nFlex Rows = {flex_rows}\nMax elements = {max_elements}')
devrait être
print(f'num_flex_rows = {self.num_rows}\nFlex Rows = {flex_rows}\nMax elements = {max_elements}')
Il n'y avait pas la ligne rouge de vérification orthographique de PyCharm sous l'erreur.
Cela m'a donné un indice, mais lorsque j'ai fait une recherche sur ce message d'erreur, je n'ai bien sûr pas trouvé l'erreur dans le bout de code ci-dessus.
Si j'avais regardé de plus près le message d'erreur, j'aurais trouvé le '
self.)
n'a rien donné. La recherche de
self.
a donné pratiquement tout :-\
Si je peux vous aider à éviter ne serait-ce qu'une minute de plus de deskchecking de votre code, alors mission accomplie :-)
C:\Python\Anaconda3\python.exe C:/Python/PycharmProjects/FlexForms/FlexForm.py Fichier "
" ;, ligne 1 (self.) ^ SyntaxError : unexpected EOF while parsing (erreur de syntaxe : EOF inattendu pendant l'analyse) Processus terminé avec le code de sortie 1
Voici l'une de mes erreurs qui a produit cette exception : J'avais un bloc try
sans aucun bloc except
ou finally
. Cela ne fonctionnera pas :
essai :
lets_do_something_beneficial()
Pour résoudre ce problème, ajoutez un bloc except
ou finally
:
essayer :
lets_do_something_beneficial()
enfin :
lets_go_to_sleep()