This article mainly introduces the method of converting excel to sqlite in Python, and analyzes the related operation skills of Python based on the third-party library xlrd to read Excel files and write to sqlite in the form of examples. Friends in need You can refer to the following
The example of this article describes the method of converting excel to sqlite in Python. Share it with everyone for your reference, the details are as follows:
I won’t talk about the installation and configuration of the Python environment. I personally like the pydev development environment.
Python needs to use a third-party library to parse excel. Here we choose to use xlrd
First look at the excel content:
Then it is generated Database:
The following is the source code:
#!/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 ------"
The above is the detailed content of Introduction to the method of converting excel to sqlite in Python. For more information, please follow other related articles on the PHP Chinese website!