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