Compute PSD from a CSV file
I don't understand what exactly you are doing, and your Nyquist frequency is only 50KHz if you're sampling at 100KHz (so you won't get 1MHz resolution).  Please clarify if you need a better answer.  

Regardless, Python has several ways to compute a PSD.  One is with matplotlib.  For example:

matplotlib.pyplot as pl
# ...load in your data to dataArr...
sampFreq = 100000
Pxx, freqs = pl.psd(dataArr, NFFT=256,Fs=samplFreq,detrend=detrend_mean,window=window_hanning,noverlap=128,sides='onesided',scale_by_freq=True)


and you get a nice plot, along with the PSD data in Pxx and the frequencies in freqs.