[Tutor] Python in Vertica
Dave Angel
d at davea.name
Tue Sep 11 02:24:11 CEST 2012
On 09/10/2012 04:49 PM, C.L. Shetline wrote:
>
>
> Python 2.4.3 with Vertica Database on Linux.
>
> We are migrating from an Informix database to Vertica. We have C code and a lot of
> SQL Stored procedures in our Informix db that are not viable in Vertica. We are trying
> to convert them to Python.
>
> My first questions is:
>
> I am using pyodbc to connect to the Vertica database. When I do a select on count and
> print the result it displays as (for example) 4L (which is the row count plus the
> data type). If I try to use the variable in a conditional it does not work. I have no idea how
> to have data value simply be 4 !
Have you tried printing type(number_of_rows) ?
> cursor.execute("SELECT COUNT(*) from cv_gls_wkly_misc")
> result = cursor.fetchone()
> number_of_rows = result[0]
> print `number_of_rows
Please copy/paste the code and other messages. That last line has a
syntax error.
>
> The data display is the (select count(*)) and a selected row.
And who printed that line out?
> 4L
If you're claiming that's coming from the above print statement (after
fixing the syntax error), then the variable number_of_rows is NOT a long
or an int. Perhaps it's a string. Without knowing that, we can't tell
you the best way to fix it.
Perhaps you're not printing it at all, but just entering
number_of_rows in the interactive interpreter. In that case, the
variable might be a long object of value 4. IF that's the case, then
you can convert it back to an int by something like number_of_rows =
int(number_of_rows)
> [(5185L, 93L, Decimal("42.50"), Decimal("50.36"), Decimal("3406.35"), Decimal("0"), Decimal("78.00"), Decimal("0"), Decimal("66.00"), Decimal("0"), Decimal("12.73"), Decimal("0"), Decimal("0"), Decimal("311.00"))]
And what's that supposed to represent? And displayed by what means?
--
DaveA
More information about the Tutor
mailing list