[英]Python :- How to store query result data into an array and access each element by Index number
我想將數據存儲在一個數組變量中,比如 path_list 並將所有狀態存儲到這個數組中。 當我打印 path_list [0] 時它應該打印 'MSF' 或者當我打印 path_list [2] 時它應該打印 'MIF' 但目前所有的結果都被存儲到一個元組中,當我使用 print in 時它沒有被打印for 循環。 但是,當我在循環之外打印它時,它正在工作。 請以任何方式建議我
我的表結構就像
STATE TOC ID NUMBER
MSF MSPROFMSV 465984 5926987700
MSF MSPROFMSV 465977 5926063400
MIF MIPROFMSV 465977 5926063100
MIF MIPROFMSV 465977 5926063900
代碼:-
import cx_Oracle
import shutil
import os
import logging
import time
import re
timestr = '_'+time.strftime("%Y%m%d-%H%M%S")
conn = cx_Oracle.connect(user=r'lsaxena2/Dec2*19k@ed03:1521/encdv03svc.uhc.com')
cur_path = conn.cursor()
cur_file = conn.cursor()
cur_path.execute('select distinct state from E0572476.ENSUBAPP_config order by state')
path_exec = cur_path.fetchall()
i=0
path_list = []
print (path_exec[1][0])
while i < len(path_exec):
path_list = path_exec[i][0]
print (path_list[i])
i = i+ 1
SQL 生成行,這些行始終是元組。 由於 cr.fetchall 獲取所有結果,您將獲得行列表 = 元組列表。 即使你只有一個值,它也是一個 1-uple。
因此,您只需要從元組中提取一個值並將其移動到輸出列表中:
path_list = [row[0] for row in path_exec]
順便說一句,您的命名方案很糟糕。 我不明白為什么你有兩個光標,或者為什么你從不關閉它們
import cx_Oracle
import time
timestr = '_'+time.strftime("%Y%m%d-%H%M%S")
with cx_Oracle.connect(user=r'lsaxena2/Dec2*19k@ed03:1521/encdv03svc.uhc.com') as conn,\
conn.cursor() as cr:
cr.execute('select distinct state from E0572476.ENSUBAPP_config order by state')
states = [state for [state] in cr.fetchall()]
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.