我正在尝试使用PyODBC在Python中查询Teradata数据库.与数据库的连接建立得很好; 但是,当我尝试获取结果时,我遇到了这个错误"无效的文字为十进制:你''".请帮忙.
我在RHEL6上,使用Python 2.7.3
这是代码和结果:
import pyodbc
sql = "select * from table"
pyodbc.pooling = False
cnx = pyodbc.connect("DRIVER={Teradata};DBCNAME=host;DATABASE=database; AUTHENTICATION=LDAP;UID=user;PWD=password", autocommit=True, ANSI=True)
cursor = cnx.cursor()
rows = cursor.execute(sql).fetchone()
Run Code Online (Sandbox Code Playgroud)
InvalidOperation Traceback (most recent call last)
<ipython-input-25-f2a0c81ca0e4> in <module>()
----> 1 test.fetchone()
/usr/local/lib/python2.7/decimal.pyc in __new__(cls, value, context)
546 context = getcontext()
547 return context._raise_error(ConversionSyntax,
--> 548 "Invalid literal for Decimal: %r" % value)
549
550 if m.group('sign') == "-":
/usr/local/lib/python2.7/decimal.pyc in _raise_error(self, condition, explanation, *args)
3864 # Errors should only be risked …
Run Code Online (Sandbox Code Playgroud) 我正在尝试根据Python中的用户名和姓来映射来自不同系统的用户.
一个问题是名字在很多情况下都是"昵称".例如,对于用户来说,他的名字在一个系统中是'Dave',在另一个系统中是'David'.
有没有简单的方法在python中将这些常见的昵称转换为正式的昵称?
谢谢!