It annoys me that it picks numeric when bigint would do. If it would choose bigint for integers that don't fit into int but do fit into bigint it would be easy to choose numeric instead by adding ".0" at the end of the integer. Writing a cast or conversion call to get a bigint is a pain. However we have to suffer that pain if we want columns with varchar(x) type (for specific values of x) or nvarchar or smallint or tinyint which are often needed.
It is of course easy to get it to create float columns, just use scientific notation for the value, for example a line like
, 1E0 as Col14
would lead to a column called Col14 with type float(53) containing the value 1.
However, getting float(24) (aka "real") requires writing a cast or conversion call.