社区所有版块导航
Python
python开源   Django   Python   DjangoApp   pycharm  
DATA
docker   Elasticsearch  
aigc
aigc   chatgpt  
WEB开发
linux   MongoDB   Redis   DATABASE   NGINX   其他Web框架   web工具   zookeeper   tornado   NoSql   Bootstrap   js   peewee   Git   bottle   IE   MQ   Jquery  
机器学习
机器学习算法  
Python88.com
反馈   公告   社区推广  
产品
短视频  
印度
印度  
Py学习  »  DATABASE

将多个Excel工作表加载到MySQL中

kumarm • 5 年前 • 1482 次点击  

我有多个excel文件,inturn中有多个工作表我正试图将它们加载到mysql数据库中 下面是我的excel工作代码

import pandas as pd
    df = pd.read_excel(open(path+ "/" +file, 'rb'), sheet_name='Sheet1')
                      table_name = "sample"
                      # Defaulting null values to 0 .
                   df=df.fillna(0)
                 # inserting the data.
                   df.to_sql(con=engine, name=table_name, if_exists='replace', schema=None)

上面的代码可以工作,但有一个问题 1。我正在硬编码的表名理想情况下,我想有相同的名称,我可能会使用拆分和只得到文件名是有更好的方式来获得文件名没有扩展名。

但真正的问题是

现在在我的文件夹中可以有多个excel文件,其中包含多个工作表 示例document1.xlsx(其中有两张sheet1和sheet2) 我就是这么做的

    xls = pd.ExcelFile('document1.xlsx')
                sheets = []
                sheets = xls.sheet_names
                #type(sheets)
                #print(sheets)this gives me list containing sheet1,sheet2
                for i in sheets:
                    #print(i) 
                    df = pd.read_excel(open(path+ "/" +file, 'rb'), sheet_name=i)
   df.to_sql(con=engine, name=table_name, if_exists='replace', schema=None)

在上面的代码中,数据框保存了两张表的数据,但是我想存储表1的数据,首先将其加载到一个表中,然后将第二张表加载到另一个表中,所以在上面的df中,我做了这个更改,以查看代码是否工作 读excel(open(path+“/”+file,'rb'),sheet_name=i[0])但它没有任何效果??

谢谢你

Python社区是高质量的Python/Django开发社区
本文地址:http://www.python88.com/topic/40387
 
1482 次点击  
文章 [ 2 ]  |  最新文章 5 年前