Depending on your SQL skill, you should be able to clean them up directly in the slqlite database. (Syntax slightly different if you're using mysql.) Backup your database first!
I have a similar issue with outside temperature. For a few months my DIY station was indoors, so the outside temperature recorded was much too high.
sqlite> select max(outTemp) from archive;
119.984
Gives me something to aim for. In my location, it never gets above 100F.
sqlite> update archive set outTemp=NULL where outTemp > 100.0;
sqlite> select max(outTemp) from archive;
99.9968
Or even 90F
sqlite> select count(*) from archive where outTemp > 90;
14321
You could also constrain by time. First look:
select datetime(datetime,'unixepoch'), outTemp
from archive
where strftime('%m', datetime(datetime, 'unixepoch'))='02' and outTemp > 95;
and then null them out. For example
update archive set outTemp = NULL
where strftime('%m', datetime(datetime, 'unixepoch')) = '02'
and outTemp > 95;
sets the outside temperature to NULL (blanks it) if it is over 95F in February.
If you know exactly when you got the driver working, you could NULL rain for all records before that time.
update archive seet rain = NULL where datetime < 1456000000;
And then backfill