python讀取Excel資料插入資料庫

2021-09-12 15:07:52 字數 1602 閱讀 6502

使用python將excel資料插入資料庫:

在剛開始使用時,遇到過好多坑,先詳細寫一下:

①在操作excel時,需要匯入xlrd(pip install xlrd) 

②在運算元據庫時,需要匯入pymysql.cursor (pip install pymysql)

① 操作excel:              

#!/usr/bin/python

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

import xlrd

def read_excel(cursor,file_name):

table_name='';

fields='';

values='';

#open file

workbook=xlrd.open_workbook(file_name)

#get all sheet

sheet_list=workbook.sheet_names()

for sheet in sheet_list:

table_name=sheet

#如果table_name 不存在,則需要建立表

#goto

sheet2 = workbook.sheet_by_name(sheet)

fields=sheet2.row_values(0)

fields = ','.join(fields)

rows=sheet2.nrows;

for row in range(rows-1):

value=sheet2.row_values(row+1)

values = ','.join("\""+str(v)+"\"" for v in value)

insert_sql='insert into '+ table_name+ '(' + fields + ')'+'values ('+values+')';

print (insert_sql)

cursor.execute(insert_sql)

②鏈結db

#!/usr/bin/python3

# -*- coding: utf8 -*-

import pymysql.cursors

from readexcel import read_excel

# 連線資料庫

db = pymysql.connect(

host='ip',

port=3306,

user='username',

passwd='password%',

db='db_name',

charset='utf8'

)def operation_data():

cursor=db.cursor()

read_excel(cursor,'data.xlsx')

# 關閉資料庫連線

db.commit();

db.close()

operation_data()

其實本身難度不大,就是當時遇到的坑,在mac docs視窗查詢匯入的資料竟然出來是亂碼,但是在sqlyog等工具裡邊顯示正常。

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...