Je reçois une erreur en exécutant cette partie du code. essayé certaines des solutions existantes, aucune d’entre elles n’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']))'
Je reçois 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
Le SyntaxError: unexpected EOF while parsing
signifie que la fin de votre code source a été atteinte avant la fin de tous les blocs de code. Un bloc de code commence par une instruction du type for i in range(100):
et nécessite au moins une ligne contenant le code qui devrait y figurer.
Il semble que vous exécutiez votre programme ligne par ligne dans la console ipython. Cela fonctionne pour les instructions simples comme a = 3
mais pas pour les blocs de code comme pour les boucles for. Voir 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 entrer le bloc de code entier en une seule entrée:
In [2]: for i in range(5):
...: print(i, end=', ')
0, 1, 2, 3, 4,
Mon erreur de syntaxe était à moitié cachée dans une chaîne 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}')
La ligne rouge de vérification orthographique de PyCharm ne contenait pas l'erreur.
Cela m’a donné un indice, mais quand j’ai cherché ce message d’erreur, il n’a bien sûr pas trouvé l’erreur dans le bit de code ci-dessus.
Si j'avais regardé de plus près le message d'erreur, j'aurais trouvé le "" dans l'erreur. Voir la ligne 1 était décourageant et ne faisait donc pas très attention :
soi.)
rien cédé. À la recherche de
soi.
a presque tout donné: - \
Si je peux vous aider à éviter encore une minute de deskchecking votre code, alors mission accomplie :-)
C:\Python\Anaconda3\python.exe C: /Python/PycharmProjects/FlexForms/FlexForm.py Fichier "", --- (ligne 1 (self.) ^ SyntaxError: imprévu EOF lors de l'analyse
Processus terminé avec le code de sortie 1
Cela peut simplement signifier également que vous manquez ou que vous avez trop de parenthèses. Par exemple, il y en a trop et cela entraînera un EOF inattendu:
print(9, not (a==7 and b==6)
Voici une de mes erreurs qui a produit cette exception: j'avais un bloc try
sans aucun bloc except
ou finally
. Cela ne fonctionnera pas:
try:
lets_do_something_beneficial()
Pour résoudre ce problème, ajoutez un bloc except
ou finally
:
try:
lets_do_something_beneficial()
finally:
lets_go_to_sleep()
elec_and_weather['DEMAND_t-%i'% k] = np.zeros(len(elec_and_weather['DEMAND']))'
L'erreur vient à la fin de la ligne où vous avez le signe ('); cette erreur signifie toujours que vous avez une erreur de syntaxe.
Il est de 2 espaces sur la boucle initiale et doit être 4 ou un onglet.