1. 程式人生 > >3月28日 【從EXCEL讀取輸入數據庫】

3月28日 【從EXCEL讀取輸入數據庫】

conn base execute xls mit 數據 遇到 into pass


#從excel讀取數據寫入mysql
def excel_to_mysql(filename):
ip = ‘133.0.186.3‘
port = 11521
SID = ‘BILLDB‘
dsn_tns = ora.makedsn(ip, port, SID)

conn = ora.connect(‘username‘, ‘password‘, dsn_tns)
cur = conn.cursor() #連接數據庫
book = xlrd.open_workbook(filename)
sheet = book.sheet_by_name(‘sheet1‘)
rows = sheet.nrows #獲取行數
for r in range(1,rows): #將標題之外的其他行寫入數據庫
r_values = sheet.row_values(r)
print(‘----‘)
print(r_values)
#sql = ‘insert into stu2 values(%s,%s,%s,%s,%s,%s,%s,%s)‘
sql = ‘insert into stu2 values(:1,:2,:3,:4,:5,:6,:7,:8)‘
#報錯cx_Oracle.DatabaseError: ORA-01036: 非法的變量名/編號,使用占位符:解決
data = cur.execute(sql,r_values) #將每一行插入sql
conn.commit() #插入所有數據後提交
cur.close()
conn.close()

excel_to_mysql(‘疑似未實名.xlsx‘)

遇到的問題就是提示錯誤:cx_Oracle.DatabaseError: ORA-01036: 非法的變量名/編號,這裏需要是用的參數需要使用 :占位符可以解決此問題,

3月28日 【從EXCEL讀取輸入數據庫】