【发布时间】:2016-08-02 16:45:26
【问题描述】:
我是python新手,使用cx_Oraclepython包执行sql查询:
cursor.execute("select tablespace_name from user_tablespaces")
从 oracle 11g 数据库中检索列表。结果如下所示:
('SYSTEM',)
('SYSAUX',)
('UNDOTBS1',)
('TEMP',)
('USERS',)
我需要从每个条目中删除单引号和逗号,然后将其放入一个数组中,并尝试使用 python 切片来这样做:
tablespaceNames = []
for result in cursor:
tablespaceNames.append(result[2:-3])
然而,这只是给我数组中的空字符串:
()
()
()
()
是我从查询结果中得到的对象有问题,还是我使用 python 切片错误?
【问题讨论】:
-
这是因为元组中只有一项...您应该使用
result[0]。您不能删除引号,因为该值是一个字符串。 -
为了澄清术语,结果是 5 个元组 - 尾随逗号是单项元组的句法设备。您的示例没有创建一个数组(您可能不想要),而是一个 list.
标签: python substring slice cx-oracle