나는 cx_oracle 연결을 가지고 있으며 CSV 파일의 성에서 ID를 수집하기 위해 일종의 '배치'를 실행하려고합니다. 아래 코드는 cx_Oracle.DatabaseError입니다 : ORA-01756 : 따옴표 붙은 문자열이 제대로 종료되지 않았습니다. 오류가 발생했습니다. 난 당신이 내 주석 코드가 이러한 방식으로 형식을 사용하고 잘 작동 보 겠지만이 작동 알고 그러나CSV에서 cx_oracle 읽기
이 라인
and spriden_change_ind is null'''.format(lname,fname)
를 가리키고 있습니다. rows_to_dict_list는 기본적으로 열 이름을 출력에 추가하기 위해 언젠가 여기에서 찾은 멋진 함수입니다.
어떤 방향으로 좋을까요! 감사합니다
import csv, cx_Oracle
def rows_to_dict_list(cursor):
columns = [i[0] for i in cursor.description]
new_list = []
for row in cursor:
row_dict = dict()
for col in columns:
row_dict[col] = row[columns.index(col)]
new_list.append(row_dict)
return new_list
connection = cx_Oracle.connect('USERNAME','PASSWORD','HOSTNAME:PORTNUMBER/SERVICEID')
cur = connection.cursor()
printHeader = True
with open('nopnumber_names.csv')as csvfile:
reader = csv.DictReader(csvfile)
for row in reader:
lname = row['Last']
fname = row['First']
cur.execute('''select spriden_pidm as PIDM,
spriden_last_name as Last,
spriden_first_name as First,
spriden_mi as Middle,
spriden_ID as ID
from spriden
where upper(spriden_last_name) = '{0}'
and upper(spriden_first_name) = '{1}'
and spriden_change_ind is null'''.format(lname,fname)
)
# THIS RECORD RUNS FINE
# cur.execute('''select spriden_pidm as PIDM,
# spriden_ID as ID,
# spriden_last_name as Last,
# spriden_first_name as First
# from spriden
# where spriden_pidm = '{}'
# and spriden_change_ind is null'''.format(99999)
# )
data = rows_to_dict_list(cur)
for row in data:
print row
cur.close()
connection.close()
은 그냥 '는 이름에 그래서 사람들은 확실히 범인있는이 이명 (FNAME에서 하나 LNAME 하나를 발견 지금은 궁금 다음을 시도하십시오 왜 실행되었지만 프로세스가 성공적으로 완료되었지만 출력이 없습니다! –