Я понимаю, что эта ошибка обычно связана с поплавком или десятичной передачей через функцию int()
; однако я не понимаю, как он применяется к моей программе сейчас. Я использую функцию под названием dateparse
для анализа дат из общих форматов файлов, чтобы сделать файлы csv, следующие за форматом date_time. У меня есть следующий код:date_parser с ошибкой: недействительный литерал для int() с базой 10: 'month'
names=dates['Year','Month','Day','Hour','Minute',\
'T2 (WRF)', 'TSK (WRF)', 'LH (WRF)','HS (WRF)', 'Q2 (WRF)',\
'U10 (WRF)','V10 (WRF)','PSFC (WRF)','ZNT (WRF)','SWDOWN (WRF)','RAINNC (WRF)']
def dateparse(Y, m, d, H, M):
a = pd.datetime(int(Y), int(m), int(d), int(H), int(M))
return(a)
df=pd.read_csv(filein,delim_whitespace=True,\
header=None, names=names, parse_dates={'date_time': dates},\
date_parser=dateparse, index_col='date_time')
df.to_csv(fileout+'.csv', index=True)
мои данные выглядит так, все отформатированный то же самое:
2014 06 28 12 00 298.406 296.388 8.60505e-05 -11.8442 0.00890335 -0.125414 -0.681333 96967.9 0.79537 0 0
2014 06 28 13 00 298.6 296.854 9.5607e-05 -10.5284 0.00823525 -1.04711 -0.317631 97030 0.79537 19.3502 0
2014 06 28 14 00 301.66 303.488 0.000109433 30.6269 0.00898107 0.000669297 -1.06901 97086.2 0.79537 213.257 0
2014 06 28 15 00 302.186 307.853 0.000169239 128.347 0.00898755 0.993213 -1.16031 97081.7 0.79537 433.372 0
2014 06 28 16 00 303.145 312.31 0.000230749 219.192 0.00874303 0.644703 -0.80952 97137.6 0.79537 639.32 0
Так заголовки должны быть год, месяц, день, час, минуты. Все это целые числа, и я не понимаю, почему это возвращает ошибку. Раньше я работал над этой программой с очень похожими данными, с тем же форматом на время.
Это данные поступают из файла, так что я в основном просто сделать 'т = file.readlines()'? –
Вы должны иметь возможность использовать 'pandas.read_csv', чтобы прочитать это как раньше – EdChum