Heim  >  Artikel  >  Backend-Entwicklung  >  Einführung in die Methode zur Konvertierung von Excel in SQLite in Python

Einführung in die Methode zur Konvertierung von Excel in SQLite in Python

黄舟
黄舟Original
2017-07-17 14:41:461458Durchsuche

In diesem Artikel wird hauptsächlich die Methode zum Konvertieren von Excel in SQLite in Python vorgestellt und die damit verbundenen Betriebsfähigkeiten von Python basierend auf der Drittanbieterbibliothek xlrd analysiert, um Excel-Dateien zu lesen und im Formular in SQLite zu schreiben von Beispielen. Freunde, die es brauchen, können sich auf Folgendes beziehen:

Das Beispiel in diesem Artikel beschreibt die Methode zum Konvertieren von Excel in SQLite in Python. Teilen Sie es als Referenz mit allen. Die Details lauten wie folgt:

Ich werde nicht über die Installation und Konfiguration der Python-Umgebung sprechen. Ich persönlich mag die pydev-Entwicklungsumgebung.

Python muss eine Bibliothek eines Drittanbieters verwenden, um Excel zu analysieren.

Sehen Sie sich zunächst den Excel-Inhalt an:

Dann wird die Datenbank generiert:

Das Folgende ist der Quellcode:

#!/usr/bin/python
# encoding=utf-8
'''''
Created on 2013-4-2
@author: ting
'''
from xlrd import open_workbook
import sqlite3
import types
def read_excel(sheet):
  # 判断有效sheet
  if sheet.nrows > 0 and sheet.ncols > 0:
    for row in range(1, sheet.nrows):
      row_data = []
      for col in range(sheet.ncols):
        data = sheet.cell(row, col).value
        # excel表格内容数据类型转换 float->int,unicode->utf-8
        if type(data) is types.UnicodeType: data = data.encode("utf-8")
        elif type(data) is types.FloatType: data = int(data)
        row_data.append(data)
      check_data_length(row_data)
# 检查row_data长度
def check_data_length(row_data):
  if len(row_data) == 3:
    insert_sqlite(row_data)
def insert_sqlite(row_data):
  # 打开数据库(不存在时会创建数据库)
  con = sqlite3.connect("test.db")
  cur = con.cursor()
  try:
    cur.execute("create table if not exists contacts(_id integer primary key "\
            "autoincrement,name text,age integer,number integer)")
    # 插入数据不要使用拼接字符串的方式,容易收到sql注入攻击
    cur.execute("insert into contacts(name,age,number) values(?,?,?)", row_data)
    con.commit()
  except sqlite3.Error as e:
    print "An error occurred: %s", e.args[0]
  finally:
    cur.close
    con.close
xls_file = "test.xls"
book = open_workbook(xls_file)
for sheet in book.sheets():
  read_excel(sheet)
print "------ Done ------"

Das obige ist der detaillierte Inhalt vonEinführung in die Methode zur Konvertierung von Excel in SQLite in Python. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn