Ik krijg een fout bij het uitvoeren van dit deel van de code. Ik heb een aantal van de bestaande oplossingen geprobeerd, maar geen van hen hielp
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']))'
Ik krijg steeds deze foutmelding
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
De SyntaxError: unexpected EOF while parsing
betekent dat het einde van uw broncode is bereikt voordat alle codeblokken waren voltooid. Een code blok begint met een statement als for i in range(100):
en heeft daarna minstens één regel nodig die code bevat die erin hoort te staan.
Het lijkt erop dat u uw programma regel voor regel uitvoerde in de ipython console. Dit werkt voor enkele statements zoals a = 3
maar niet voor code blokken zoals for loops. Zie het volgende voorbeeld:
In [1]: for i in range(100):
File "<ipython-input-1-ece1e5c2587f>", line 1
for i in range(100):
^
SyntaxError: unexpected EOF while parsing
Om deze fout te vermijden, moet je het hele codeblok als een enkele invoer invoeren:
In [2]: for i in range(5):
...: print(i, end=', ')
0, 1, 2, 3, 4,
Mijn syntaxisfout was half verborgen in een f-string
print(f'num_flex_rows = {self.}\nFlex Rows = {flex_rows}\nMax elements = {max_elements}')
zou moeten zijn
print(f'num_flex_rows = {self.num_rows}\nFlex Rows = {flex_rows}\nMax elements = {max_elements}')
Het had niet de PyCharm spelling-controle-rode lijn onder de fout.
Het gaf me wel een hint, maar toen ik op deze foutmelding zocht, vond het natuurlijk niet de fout in dat stukje code hierboven.
Als ik beter naar de foutmelding had gekeken, zou ik de '
self.)
leverde niets op. Zoeken naar
self.
leverde bijna alles op.
Als ik je kan helpen om ook maar een minuut langer deskchecken van je code te vermijden, dan is je missie geslaagd :-)
C:Python-Anaconda3python.exe C:/Python/PycharmProjects/FlexForms/FlexForm.py File "
", regel 1 (self.) ^ SyntaxError: onverwachte EOF tijdens parsing Proces beëindigd met exit code 1
Hier is een van mijn fouten die deze uitzondering veroorzaakte: Ik had een try
blok zonder except
of finally
blokken. Dit zal niet werken:
``py try: lets_do_something_beneficial()
Om dit op te lossen, voeg een `except` of `finally` blok toe:
``py
proberen:
lets_do_something_beneficial()
finally:
lets_go_to_sleep()