Py学习  »  DATABASE

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

kumarm • 5 年前 • 1480 次点击  

我有多个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
 
1480 次点击  
文章 [ 2 ]  |  最新文章 5 年前