Working on Larsmans example, I think what you want would be:
import numpy as np
import numpy.ma as ma
values = [('<', 2, 3.5, 'as', 6), (None, None, 6.888893, 'bb', 9),
('a', 66, 77, 'sdfasdf', 45)]
nrows = len(values)
arr = ma.zeros(nrows, dtype=[('c1', 'S1'),('c2', np.int), ('c3', np.float),
('c4', 'S8'), ('c5', np.int)])
for i, row in enumerate(values):
for j, cell in enumerate(values[i]):
if values[i][j] is None:
arr.mask[i][j] = True
else:
arr.data[i][j] = cell
print arr