Remove high resolution spurious peaks from sinusoidal signal
Since the spikes are regions of bad data you want to figure out how to identify where they are and exclude them from your analysis.  You certainly have more than enough sampling points to get a good read on the signal parameters on the regions that are good.

You indicate that you are looking for the amplitude.  What resolution is your goal, every cycle?  Are there harmonics?

I would set a DFT frame up that is two or three, maybe four cycles long.  Let's say four, for argument's sake.  That will be 8000 sample points.  Your DFT doesn't have to be nearly that dense.  A 64 point FFT should to the trick.  Just use every 8000 / 64  = 125th sample.  If you have a spikeless signal, only the bins that are multiples of four should have any significant magnitude and the bins in between will be near zero.  You can then be confident you have a clean read and find the peaks in the time domain.

If there is a spike in your DFT frame, then the in between bins will have larger values.  A little experimentation should allow you to find good threshold values.  It is important for you to frame the DFT on a whole number of cycles.  The easiest way to do this is to look for zero crossings.

Ced