This is a non-standard format, so not caught by the default parser, you can pass your own:
In [11]: import datetime as dt
In [12]: dt.datetime.strptime('30MAR1990', '%d%b%Y')
Out[12]: datetime.datetime(1990, 3, 30, 0, 0)
In [13]: parser = lambda date: pd.datetime.strptime(date, '%d%b%Y')
In [14]: pd.read_csv(StringIO(s), parse_dates=[0], date_parser=parser)
Out[14]:
date value
0 1990-03-30 140000
1 1990-06-30 30000
2 1990-09-30 120000
3 1990-12-30 34555
Another option is to use to_datetime after you've read in the strings:
df['date'] = pd.to_datetime(df['date'], format='%d%b%Y')
与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…