EXCEL文件导入oracle

  1. #coding:gbk
  2. import xlrd
  3. import cx_Oracle
  4. fields = []
  5. data = []
  6. table_name = 'ygl_test1'
  7. wb = xlrd.open_workbook("清单.xlsx")
  8. sheet1 = wb.sheet_by_index(0)
  9. #取第一行做数库字段名
  10. title = sheet1.row_values(0)
  11. #取第二行开始做数据
  12. for row in range(1, sheet1.nrows):
  13. rowvalue = sheet1.row_values(row)
  14. data.append(rowvalue)
  15. #联接数据库
  16. conn = cx_Oracle.connect('user/user123@user')
  17. cursor = conn.cursor()
  18. #生成create table语句中字段名字符串
  19. for i in title:
  20. fields.append(i+' varchar2(40)')
  21. fields_str = ', '.join(fields)
  22. sql = 'create table %s (%s)' % (table_name, fields_str)
  23. print sql
  24. #根据excel列名创建数据表的字段
  25. cursor.execute(sql)
  26. #生成executemany语句中的:1,:2字段参数格式
  27. a = [':%s' %i for i in range(sheet1.ncols+1)]
  28. value= ','.join(a[1:])
  29. sql = 'insert into %s values(%s)' %(table_name, value)
  30. print sql
  31. #把所有字段插入数据值
  32. cursor.prepare(sql)
  33. cursor.executemany(None, data)
  34. cursor.close()
  35. conn.commit()
  36. conn.close()






附件列表

     

    posted @ 2015-02-06 16:52  阳光树林  阅读(417)  评论(0编辑  收藏  举报