SyntaxError: onverwachte EOF tijdens parsing
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
21
3
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 alsfor 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:Om deze fout te vermijden, moet je het hele codeblok als een enkele invoer invoeren:
Mijn syntaxisfout was half verborgen in een f-string
zou moeten zijn
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 '' in de fout gevonden hebben. Het zien van regel 1 was ontmoedigend en dus was ik niet goed aan het opletten :-( Zoeken naar
leverde niets op. Zoeken naar
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 :-)
Hier is een van mijn fouten die deze uitzondering veroorzaakte: Ik had een
try
blok zonderexcept
offinally
blokken. Dit zal niet werken:``py try: lets_do_something_beneficial()