【问题标题】:Merge Excel files with pandas in python在python中将Excel文件与熊猫合并
【发布时间】:2020-07-22 18:50:55
【问题描述】:

我几乎完成了在 python 中将 excel 文件与 pandas 合并,但是当我给出路径时它不会工作。我得到错误''没有这样的文件或目录:'file1.xlsx'''。当我将路径留空时,它可以工作,但我想决定它应该从哪个文件夹中获取文件。并且我将文件保存在“excel”文件夹中

cwd = os.path.abspath('/Users/Viktor/downloads/excel') #If i leave it empty and have files in /Viktor it works but I have the desired excel files in /excel 

print(cwd)
files = os.listdir(cwd)  
df = pd.DataFrame()
for file in files:
   if file.endswith('.xlsx'):
       df = df.append(pd.read_excel(file), ignore_index=True) 
df.head() 
df.to_excel(r'/Users/Viktor/Downloads/excel/resultat/merged.xlsx')

【问题讨论】:

    标签: python excel pandas


    【解决方案1】:

    pd.read_excel(file) 查找相对于脚本执行路径的文件。如果您在“/Users/Viktor/”中执行,请尝试:

    import os
    import pandas as pd
    
    cwd = os.path.abspath('/Users/Viktor/downloads/excel') #If i leave it empty and have files in /Viktor it works but I have the desired excel files in /excel 
    
    #print(cwd)
    files = os.listdir(cwd)  
    
    
    df = pd.DataFrame()
    for file in files:
       if file.endswith('.xlsx'):
           df = df.append(pd.read_excel('downloads/excel/' + file), ignore_index=True) 
    df.head() 
    df.to_excel(r'/Users/Viktor/downloads/excel/resultat/merged.xlsx')
    

    【讨论】:

      【解决方案2】:

      如何实际更改当前工作目录

      os.chdir(cwd)
      

      仅打印路径没有帮助。

      【讨论】:

        【解决方案3】:
        from pathlib import Path
        import pandas as pd
        
        # path to files
        p = Path('/Users/Viktor/downloads/excel')
        
        # find the xlsx files
        files = p.glob('*.xlsx')
        
        # create the dataframe 
        df = pd.concat([pd.read_excel(file, ignore_index=True) for file in files])
        
        # save the file
        df.to_excel(r'/Users/Viktor/Downloads/excel/resultat/merged.xlsx')
        

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 2020-10-26
          • 2018-07-05
          • 2016-05-16
          • 2017-09-09
          • 2016-11-09
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多