Ich erhalte einen Fehler, wenn ich diesen Teil des Codes ausführe. Ich habe einige der vorhandenen Lösungen ausprobiert, aber keine von ihnen hat geholfen
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']))'
Ich erhalte immer diesen Fehler
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
Der SyntaxError: unexpected EOF while parsing
bedeutet, dass das Ende Ihres Quellcodes erreicht wurde, bevor alle Codeblöcke abgeschlossen waren. Ein Codeblock beginnt mit einer Anweisung wie for i in range(100):
und benötigt danach mindestens eine Zeile, die Code enthält, der darin enthalten sein sollte.
Es scheint, als ob du dein Programm Zeile für Zeile in der ipython-Konsole ausführst. Das funktioniert für einzelne Anweisungen wie a = 3
, aber nicht für Codeblöcke wie for-Schleifen. Siehe das folgende Beispiel:
In [1]: for i in range(100):
File "<ipython-input-1-ece1e5c2587f>", line 1
for i in range(100):
^
SyntaxError: unexpected EOF while parsing
Um diesen Fehler zu vermeiden, müssen Sie den gesamten Codeblock als eine einzige Eingabe eingeben:
In [2]: for i in range(5):
...: print(i, end=', ')
0, 1, 2, 3, 4,
Mein Syntaxfehler war halb versteckt in einer f-Zeichenkette
print(f'num_flex_rows = {self.}\nFlex Rows = {flex_rows}\nMax elements = {max_elements}')
sollte sein
print(f'num_flex_rows = {self.num_rows}\nFlex Rows = {flex_rows}\nMax elements = {max_elements}')
Die rote PyCharm-Rechtschreibprüfung-Zeile unter dem Fehler fehlte.
Es gab mir zwar einen Hinweis, aber als ich nach dieser Fehlermeldung suchte, fand es natürlich nicht den Fehler in dem obigen Codeabschnitt.
Hätte ich mir die Fehlermeldung genauer angesehen, hätte ich den 'fstring>' im Fehler gefunden. Der Anblick von Zeile 1 war entmutigend und deshalb habe ich nicht so genau hingesehen :-( Bei der Suche nach
self.)
erbrachte nichts. Die Suche nach
self.
erbrachte praktisch alles :-\
Wenn ich Ihnen helfen kann, auch nur eine Minute längeres Deskchecking Ihres Codes zu vermeiden, dann ist die Mission erfüllt :-)
C:\Python\Anaconda3\python.exe
C:/Python/PycharmProjects/FlexForms/FlexForm.py Datei "
", Zeile 1 (self.) ^ SyntaxError: unerwartetes EOF beim Parsen Prozess beendet mit Exit Code 1
Hier ist einer meiner Fehler, der zu dieser Ausnahme führte: Ich hatte einen try
-Block ohne irgendwelche except
- oder finally
-Blöcke. Das wird nicht funktionieren:
``py try: lets_do_something_beneficial()
Um dies zu beheben, fügen Sie einen `except` oder `finally` Block hinzu:
```py
try:
lets_do_something_beneficial()
finally:
lets_go_to_sleep()