python讀取excel資料插入sqlite中

2022-06-21 14:36:10 字數 1349 閱讀 8714

#!/usr/bin/env python

# -*- coding:utf-8 -*-

# author: hogan

import xlrd

import sqlite3

def read_excel(filename):

# 開啟檔案excel

workbook = xlrd.open_workbook(filename)

# 開啟**

table = workbook.sheets()[0]

# 計算文件有多少行

all_row = table.nrows

# 返回開啟文件的物件,和文件的總行數

return table, all_row

def create_con(dbname):

# conn = sqlite3.connect('example2.db') # 連線資料庫

conn = sqlite3.connect(dbname) # 連線資料庫

# connect()方法,可以判斷乙個資料庫檔案是否存在,如果不存在就自動建立乙個,如果存在的話,就開啟那個資料庫。

cus = conn.cursor() # 建立游標

return cus, conn

def sql_dao(da, cus):

# cus.execute('''create table stocks(id real ,lng real ,lat real,slp real ,intensity real ,utc text )''')

# 向表中插入一條資料

sql = '''insert into stocks values(%s,'%s','%s','%s','%s','%s')''' % (da[0], da[1], da[2], da[3], da[4], da[5])

cus.execute(sql)

def submit_close(conn):

# 提交當前事務,儲存資料

conn.commit()

# 關閉資料庫連線

conn.close()

if __name__ == '__main__':

row_all_obj, all_row_num = read_excel("datastr.xlsx")

conn, cus = create_con()

for i in range(1, all_row_num + 1):

data = row_all_obj.row_values(i)

sql_dao(data,cus )

print("插入第", i, "條")

submit_close(conn)

python 讀取Excel資料

如果xlrd執行報錯,先解除安裝當前安裝的xlrd pip uninstall xlrd 再安裝低版本的xlrd pip install xlrd 1.2.0 import xlrd import sysimport osdef read excel dict excelpath,sheetname...

讀取Excel資料

方法2 相當簡單,excel就像資料庫,每個sheet就是乙個table.microsoft.jet.oledb驅動.之後是datareader迴圈,或dataset處理都非常簡單.注意 資料型別的轉換 region set connection string strconn provider mi...

讀取Excel資料

excel2007的連線字串與excel2003的不同。datatable tbsheetname connection.getoledbschematable oledbschemaguid.tables,null 用來獲得sheet的名字 using system using system.io...