在线观看www成人影院-在线观看www日本免费网站-在线观看www视频-在线观看操-欧美18在线-欧美1级

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

Python+Excel怎么創建數據庫表

汽車電子技術 ? 來源:Python數據分析之旅 ? 作者:cauwfq ? 2023-02-24 15:01 ? 次閱讀

pYYBAGP4YDOAN-PSAAC0bxpmYK8709.png

一.項目背景

一個目錄下有若干個Csv/Excel文件,現在需求是根據這些Csv文件的表頭,生成對
應的SQL建表語句。

二.實現過程

1.獲取文件
》》遍歷路徑下文件
》》獲取Excel文件
》》返回文件路徑

#獲取文件路徑
def get_path(file_path):
    #存儲路徑信息
    path_list=[]
    #遍歷路徑下文件
    for file in os.listdir(file_path):
        #獲取文件名稱
        file_name=os.path.splitext(file)[0]
        #判斷是否為Excel文件
        if file.endswith('.xlsx'):
            #添加文件路徑
            path_list.append((os.path.join(file_path,file),file_name))
    #返回文件路徑
    return path_list

poYBAGP4YFqADlc-AAAw9A3NnGI179.png
2.構建Mysql類
》》初始化Mysql連接
》》運行SQL語句

#MySQL類
class Mysql_connect():
    def __init__(self, host, user, password, database):
        #初始化連接信息
        self.conn = pymysql.connect(host=host,
                                    user=user,
                                    password=password,
                                    database=database
                                    )

    #運行sql語句
    def run_sql(self, sql):
        #獲取游標
        cursor = self.conn.cursor()
        #執行SQL語句
        cursor.execute(sql)
        #提交事務
        self.conn.commit()
        #關閉連接
        self.conn.close()
3.獲取sql語句
》》讀取文件名稱
》》獲取表頭和類型
》》生成SQL語句

#獲取sql語句
def get_sql(table_name,df,length=255):
    '''
    table_name:表名稱
    df:DataFrame數據結構
    length:默認是255
    '''
    
    #存儲sql語句列表
    create_list=[]
    #遍歷每一列
    for col in df.columns.tolist():
        #判斷數據類型
        if df[col].dtypes=='float':
            #構建sql語句
            sql_col=col+' '+'float'
            #添加到列表
            create_list.append(sql_col)
        #判斷數據類型
        elif df[col].dtypes=='int64' or df[col].dtypes=='int32' or df[col].dtypes=='int':
            #構建sql語句
            sql_col=col+' '+'int'
            #添加到列表
            create_list.append(sql_col)
         #判斷數據類型
        elif df[col].dtypes=='datetime64[ns]':
             #構建sql語句
            sql_col=col+' '+'datetime'
            #添加到列表
            create_list.append(sql_col)
        else:
            #構建sql語句
            sql_col=col+' '+f'varchar({length})'
            #添加到列表
            create_list.append(sql_col)
    #添加主鍵,替換列表中不必要內容
    table_str='id int(64) primary key not null auto_increment,'+str(create_list).replace('[','').replace(']','').replace("'","")
    #設置引擎
    sql_create=f'''create table if not exists {table_name}({table_str})'''+' engine=innodb default charset=utf8'
    #返回sql語句
    return sql_create

pYYBAGP4YIKAEszUAABZytDg7Ws470.png
4.生成數據庫表格
》》運行SQL語句生成表格

#遍歷該目錄下文件
for files in get_path('./'):
    #獲取文件名稱
    name=files[1]
    #讀取表格
    df=pd.read_excel(files[0])
    #獲取sql語句
    sql=get_sql(name,df)
    #連接MySQL
    conn=Mysql_connect('127.0.0.1','root','253611','test')
    #輸出sql語句
    print(sql+'n')
    #運行sql語句
    conn.run_sql(sql)

poYBAGP4YJaAOORAAABrCyiYcZQ955.png
聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • SQL
    SQL
    +關注

    關注

    1

    文章

    780

    瀏覽量

    44809
  • 文件
    +關注

    關注

    1

    文章

    578

    瀏覽量

    25212
  • csv
    csv
    +關注

    關注

    0

    文章

    39

    瀏覽量

    5989
收藏 人收藏

    評論

    相關推薦
    熱點推薦

    labviEW中使用LabSQL在數據庫創建

    的說明請搜索百度,另外需要下載LabSQL才能運行這個程序。補:程序中最后應該加一個別Connection Close.vi的,不知怎么忘了加了,在使用中是要加上的。 對于創建新的ACCESS數據庫而不是在現在的數據庫里面新建
    發表于 03-23 10:38

    有個excel數據表 想導入鴻蒙數據庫,求sqlite數據使用文檔?

    有個excel 數據表 想導入鴻蒙數據庫, 求sqlite數據使用文檔?
    發表于 06-09 10:10

    創建與使用數據庫課程

      本章要點                 創建數據庫是實施數據庫
    發表于 04-14 16:01 ?0次下載

    如何創建目標數據庫

    如何創建目標數據庫 在文您將學習創建目標數據庫和所有與發起方數據庫不存在依賴關系的 Service Broker 目標對
    發表于 03-26 11:54 ?1384次閱讀

    JAVA教程之創建與刪除數據庫中的

    JAVA教程之創建與刪除數據庫中的,很好的JAVA的資料,快來學習吧。
    發表于 04-13 09:47 ?3次下載

    數據庫教程之數據庫創建與管理詳細資料免費下載

    本文檔的主要內容詳細介紹的是數據庫教程之數據庫創建與管理詳細資料免費下載。內容包括了:SQL Server數據庫概述, 創建
    發表于 10-19 10:41 ?18次下載
    <b class='flag-5'>數據庫</b>教程之<b class='flag-5'>數據庫</b>的<b class='flag-5'>創建</b>與管理詳細資料免費下載

    創建新的數據庫和更改SQL Server CE數據庫中的數據操作教程免費下載

    SQL Server CE 中的數據庫是存儲結構化數據集合。在可以存儲數據庫之前,必須創建數據庫
    發表于 09-19 11:28 ?5次下載

    怎么創建SQLite數據庫

    大家好,今天給大家分享一篇如何創建SQLite數據庫的文章。
    的頭像 發表于 02-22 16:21 ?6366次閱讀
    怎么<b class='flag-5'>創建</b>SQLite<b class='flag-5'>數據庫</b>

    數據庫建立|數據庫創建的方法?

    ,用于支持數據的管理、存儲和檢索。 手動創建數據庫 手動創建數據庫是最基本的方法。它需要創建一個
    的頭像 發表于 07-14 11:15 ?1547次閱讀

    SQLite數據庫python的區別

    SQLite數據庫python的區別 SQLite是一種輕量級關系型數據庫管理系統,是一個嵌入式的數據庫引擎。Python是一種高級編程語
    的頭像 發表于 08-28 16:41 ?1101次閱讀

    python有什么用 如何用python創建數據庫

    python有什么用 如何用python創建數據庫 Python是一種高級編程語言,可以用于開發各種類型的應用程序和工具。它的廣泛應用使它在
    的頭像 發表于 08-28 16:41 ?1454次閱讀

    python讀取數據庫數據 python查詢數據庫 python數據庫連接

    python讀取數據庫數據 python查詢數據庫 python
    的頭像 發表于 08-28 17:09 ?2129次閱讀

    使用SQL語句創建數據庫

    使用SQL語句創建數據庫 在今天的信息社會中,數據庫是信息化建設的關鍵要素之一,已經成為企業和組織的重要管理工具。創建數據庫
    的頭像 發表于 08-28 17:09 ?4487次閱讀

    sql怎么用代碼創建數據庫

    sql怎么用代碼創建數據庫 SQL是一種結構化查詢語言,用于通過編程語言與數據庫進行通信。它允許用戶從數據庫中檢索、修改和刪除數據。在本文中
    的頭像 發表于 08-28 17:09 ?3028次閱讀

    mysql數據庫如何創建數據表

    MySQL是一種常用的關系型數據庫管理系統,可以用于創建和管理數據表。下面是一篇詳細的關于MySQL數據庫如何創建
    的頭像 發表于 11-21 11:08 ?2155次閱讀
    主站蜘蛛池模板: 伊人狼人综合 | 色午夜视频 | 中文字幕在线不卡 | www.九九热| 亚洲最大色网站 | 日本黄色免费在线观看 | 91极品反差婊在线观看 | 四虎永久网址在线观看 | 欧美极品第1页专区 | 操美女网址 | 国产在线视频网站 | 成年人的毛片 | 色费女人18女人毛片免费视频 | 中文字幕第二区 | 日本s色大片在线观看 | 国产精品视频一区二区三区 | 免费色站 | 欧美 变态 另类 人妖班 | 欧美视频精品在线 | 精品久久久久久久久久 | 欧洲性开放大片免费观看视频 | 九九精品在线观看 | 亚洲经典一区二区三区 | 天天色踪合合 | 免费看欧美一级特黄a大片 免费看欧美一级特黄a大片一 | 国产真实野战在线视频 | 精品一区二区三区18 | 美女视频永久黄网站免费观看国产 | 免费在线观看一区二区 | 精品综合久久久久久98 | 一级毛片在线播放 | 日本不卡高清免费v日本 | 中文字幕不卡免费高清视频 | 在线黄| 欧美一级视频精品观看 | 好男人www社区影视在线 | a一级视频 | 午夜大片男女免费观看爽爽爽尤物 | 三级视频网站在线观看播放 | www.日本免费 | 性色成人网|