1. 程式人生 > >Python3將excel中的資料匯入mysql資料庫

Python3將excel中的資料匯入mysql資料庫

import pymysql
# xlrd 為 python 中讀取 excel 的庫,支援.xls 和 .xlsx 檔案
# import xlrd

# openpyxl 庫支援 .xlsx 檔案的讀寫
from openpyxl.reader.excel import load_workbook
from builtins import int

#cur 是資料庫的遊標連結,path 是 excel 檔案的路徑
def importExcelToMysql(cur, path):

    ### xlrd版本
    # 讀取excel檔案
    # workbook = xlrd.open_workbook(path)
    # sheets = workbook.sheet_names()
    # worksheet = workbook.sheet_by_name(sheets[0])
    ###

    ### openpyxl版本
    # 讀取excel檔案
    workbook = load_workbook(path)
    # 獲得所有工作表的名字
    sheets = workbook.get_sheet_names()
    # 獲得第一張表
    worksheet = workbook.get_sheet_by_name(sheets[0])
    ###

    ### xlrd版本
    # 將表中資料讀到 sqlstr 陣列中
    # for i in range(1, worksheet.nrows):
    #     row = worksheet.row(i)
    #
    #     sqlstr = []
    #
    #     for j in range(0, worksheet.ncols):
    #         sqlstr.append(worksheet.cell_value(i, j))
    ###

    ### openpyxl版本
    # 將表中每一行資料讀到 sqlstr 陣列中
    for row in worksheet.rows:

        sqlstr = []

        for cell in row:
            sqlstr.append(cell.value)
    ###

        valuestr = [str(sqlstr[0]), int(sqlstr[1]), int(sqlstr[2]), int(sqlstr[3])]

        # 將每行資料存到資料庫中
        cur.execute("insert into student(姓名, 語文, 數學, 英語) values(%s, %s, %s, %s)", valuestr)

# 輸出資料庫中內容
def readTable(cursor):
    # 選擇全部
    cursor.execute("select * from student")
    # 獲得返回值,返回多條記錄,若沒有結果則返回()
    results = cursor.fetchall()

    for i in range(0, results.__len__()):
        for j in range(0, 4):
            print(results[i][j], end='\t')

        print('\n')

if __name__ == '__main__':
    # 和資料庫建立連線
    conn = pymysql.connect('localhost', 'root', '123456', charset='utf8')
    # 建立遊標連結
    cur = conn.cursor()

    # 新建一個database
    cur.execute("drop database if exists students")
    cur.execute("create database students")
    # 選擇 students 這個資料庫
    cur.execute("use students")

    # sql中的內容為建立一個名為student的表
    sql = """CREATE TABLE IF NOT EXISTS `student` (
                `姓名` VARCHAR (20),
                `語文` INT,
                `數學` INT,
                `英語` INT
              )"""
    # 如果存在student這個表則刪除
    cur.execute("drop table if exists student")
    # 建立表
    cur.execute(sql)

    # 將 excel 中的資料匯入 資料庫中
    importExcelToMysql(cur, "./student.xlsx")
    readTable(cur)

    # 關閉遊標連結
    cur.close()
    conn.commit()
    # 關閉資料庫伺服器連線,釋放記憶體
    conn.close()

相關推薦

linux下大檔案編碼轉碼及oracle資料匯入mysql

        這篇文章有不少廢話,只是為了發洩一下。如果讀者找需要解決的問題的辦法,直接無視這些廢話。             最近做的專案要將Oracle中資料匯入Mysql, 資料量約有兩千萬條,慶幸的是隻有一張表,而且資料結構比較簡單。在這個過程中遇到不少坑,現在

.txt檔案資料匯入MySQL資料庫出現首字母亂碼問題

問題:最近做實訓時將.txt檔案匯入MySQL資料庫時出現了亂碼,最初時所有的都出現了亂碼,查了下百度,發現是編碼問題,於是將.txt檔案另存為UTF-8編碼,問題解決,但是又出現了第一個字母亂碼的問題

excel檔案資料匯入sqlite3資料庫筆記

參考文章:http://blog.chinaunix.net/uid-1844931-id-2981048.html 1、首先需要將excel檔案另存為csv格式的檔案,這個檔案可以直接使用文字方式開啟,內容中間是用逗號分隔的,匯出時注意一下格式,去掉換行或者多餘的內容之

Python3excel資料匯入mysql資料庫

import pymysql # xlrd 為 python 中讀取 excel 的庫,支援.xls 和 .xlsx 檔案 # import xlrd # openpyxl 庫支援 .xlsx 檔案的讀寫 from openpyxl.reader.excel import

利用PythonExcel資料匯入Mysql資料庫

 python操作Excel 需要匯入xlrd包,可以通過pip install xlrd 一鍵安裝。 #coding=utf-8 ''' python 將指定目錄下的excel檔案匯入到資料庫中 ''' # 引入資料庫包 import pymysql # 引入操作excel包

JavaExcel表格資料匯入資料庫的表

        上一節介紹了Java將資料庫表中資料匯出至Excel表格,那麼本節來介紹它的逆過程,也就是將Excel表格中的資料逐行匯入資料庫中的表中,依然需要使用Apache的POI,上一節已經說過也附了這個jar包的下載地址,這一節就不過多的說,直接講如

Shell_mysql命令以及資料匯入Mysql資料庫

連線MYSQL資料庫 mysql -h${db_ip} -u${db_user} -p${db_pawd} -P${db_port} -D${db_name} -s -e "${sql}"   db_ip:主機地址   db_user :資料庫使用者名稱   db_pwd:密碼   db

SparkSql資料來源Hive資料匯入MySql例項

背景:能看到這篇部落格的夥計兒,應該是充分理解了[理想是豐滿的 現實是骨感]  這句名言了吧。為啥子這麼說呢,那就是 不就是個SparkSql從hive匯入到mysql嗎 有什麼技術含量,但是呢 不斷地踩坑ing填坑ing。 廢話不多說,直接上硬菜。 package co

Excel資料匯入SqlServer的表

記錄一下最近從Excel匯入大量資料到SqlServer表中的步驟。 在將Excel資料準備好以後。 1、右鍵SQL Server中需要匯入資料的庫名,選擇【任務】—【匯入資料】如圖: 2、彈

如何使用SQLyog大量資料匯入mysql資料庫

之前是通過SQLyog將excel檔案儲存為csv檔案,然後匯入mysql資料庫,不過由於資料量大,建表語句寫的很麻煩(先copy Excel橫表的第一行(屬性那一行),然後轉置,到txt檔案,寫建表語句,加逗號),昨天用一天的時間琢磨這個問題,在前輩的指點下,發現這個能匯

Excel資料匯入資料庫出現的兩個問題及解決方案

     今天要把Excel中的資料匯入到資料庫中,寫了段程式碼,出現兩個問題,解決方法如下。 問題一:程式報錯,報錯如下,原因是excel中用了篩選,且有標題頭,去掉即可。 import java.io.FileInputStream; import java.io.Fi

Python批量Excel檔案資料匯入SQLite資料庫的優化方案

說明:1)需要安裝擴充套件庫openpyxl;2)隨著資料庫的增大,匯入速度可能會有所下降;3)本文只考慮Python程式碼優化,沒有涉及資料庫的優化;4)本文要點在於使用executemany實現批

python讀取excel檔案並匯入mysql資料庫

import MySQLdb import xlrd import xlwt from datetime import date,datetime   database = MySQLdb.connect (host="114.116.2.203", user = "r

java獲取excel資料並存入資料庫

1--獲取excel檔案檔案所在路徑       由於公司的平臺框架封裝比較嚴重,獲取路徑方法可能略有不同,不必太放心上。 //獲取平臺附件配置檔案附件存放路徑 String realPath = F

【VBA】 通過VBA指令碼EXCEL資料匯入 ORACLE

作者:lianghc 描述:最近在使用infamatica 將excel  的資料匯入oracle時,遇到意外終止錯誤,無法將資料匯入。於是採用VBA將資料匯入資料庫,是辦公人員一鍵同步excel的資料導資料庫中,這種做法的前提是提供標準的模板。下面是解決問題過程中收集的連

怎樣把 excel資料匯入資料庫裡面去

相關文章1. 把 excel 另存為 .csv 格式2. 用 Notepad 開啟 .csv 檔案, 第一行就是所有的欄位3. 建立表結構create table yu_rt_01 as  select Transaction_Id,Last_Update_Date,Last

左.右連線相關 , table1資料匯入到table2(表結構不相同)

 現在要將table1中的資料轉到table2中,請教SQL語句該如何實現(只需要查詢語句就行了); 表   table1 name time    value     type A 2011-6-13     51       1 B 2011-6-13     

excel檔案資料匯入資料庫的步驟

//1,在控制請中通過MultipartHttpServlerRequest multipartFiles獲取上傳的檔案 multipartFile file = multipartFiles.getFiles("file");//引數file是前端input上傳檔案標籤的name屬性;

C# Excel資料匯入資料庫SQLS

解決方式: 1.現將Excel中的資料存放在DataTable中 程式碼參考部落格:C#讀取Excel中的內容,並將內容存放在二維陣列中” 2. 將DataTable中的資料匯入到SqlServer中 具體程式碼如下: public static void D

Excel資料匯入到oracle資料庫

對於資料庫中的一張表,進行資料的批量新增,有幾種方法? 第一種:寫拼接sql. 第二種:程式讀取呼叫資料庫插入. 第三種:儲存過程. 第四種:一個個sql新增. 第五種:使用plsql客戶端進行新增. 第N種…… 那麼這裡介紹的就是使用plsql進