龙网论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 1360|回复: 0
收起左侧

python读取xlsx文件内容,插入到sqlite3数据库里面

[复制链接]
发表于 2018-1-22 22:08 | 显示全部楼层 |阅读模式
  1. import xlrd
  2. import re
  3. import sqlite3

  4. def read_xlsx():
  5.     workbook = xlrd.open_workbook('E:\20160322.xlsx')
  6.     booksheet = workbook.sheet_by_name('Sheet1')
  7.     p = list()
  8.     for row in range(booksheet.nrows):
  9.             row_data = []
  10.             for col in range(booksheet.ncols):
  11.                     cel = booksheet.cell(row, col)
  12.                     val = cel.value
  13.                     try:
  14.                             val = cel.value
  15.                             val = re.sub(r'\s+', '', val)
  16.                     except:
  17.                             pass

  18.                     if type(val) == float:
  19.                         val = int(val)
  20.                     else:
  21.                         val = str( val )
  22.                     row_data.append(val)
  23.             p.append(row_data)

  24.     return  p

  25. def operat_sqlite(*data):
  26.     # print(type(data))
  27.     # print(data)
  28.     print(data[0])
  29.     try:
  30.         conn = sqlite3.connect('E:\list.db')
  31.     except:
  32.         print('open sqlite3 failed.')
  33.         return
  34.     else:  #操作数据库
  35.          c = conn.cursor()
  36.          for item in data:
  37.              for i in range(len(item)):
  38.                  DLDMv = item[i][1]
  39.                  LDDMv = item[i][3]
  40.                  LDMCv = item[i][2]
  41.                  FHSSLXv = item[i][5]
  42.                  XZQHv = item[i][6]
  43.                  try:
  44.                     #creat sql
  45.                      c.execute("insert into roadkey (DLDM, LDDM, LDMC, FHSSLX, XZQH) values (?, ?, ?, ?, ?)", (DLDMv, LDDMv, LDMCv, FHSSLXv, XZQHv))
  46.                      conn.commit()
  47.                  except:
  48.                      print('insert roadky failed ')
  49.                      pass
  50.                  print(i)
  51.                  print(item[i])
  52.          conn.close()

  53.     return

  54. if __name__ == '__main__':
  55.    data_list =  list()
  56.    data_list = read_xlsx()
  57.    operat_sqlite(data_list)
复制代码
1. 代码功能:读取xlsx文件内容,插入到sqlite3数据库里面。
2. 安装xlrd: pip install xlrd。
sqlite3已经有库了。。不用安装,直接使用。

您需要登录后才可以回帖 登录 | 注册

本版积分规则

手机版|Archiver|龙网论坛 ( 辽ICP备06014320号 )

GMT+8, 2024-10-4 15:53

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表