【问题标题】:How to read multiple excel files in Different Pandas Dataframes如何在不同的 Pandas Dataframes 中读取多个 excel 文件
【发布时间】:2021-09-28 12:45:59
【问题描述】:

我收集了包含类似数据集的 excel 文件。我希望它被不同的 Pandas 数据帧读取。

import glob
import pandas as pd

path=r"C:users/me/desktop/ExcelData"

files=glob.glob('*.xls')
for f in files:
      df[f]=pd.read_excel(f)

【问题讨论】:

  • 在 for 循环外创建一个列表(比如lst=[]),然后在其中附加您的数据框.....然后通过lst[0]lst[1] 访问您的数据框......那么你卡在哪里了?

标签: python excel pandas list dataframe


【解决方案1】:
import glob
import pandas as pd
import os

path=r"C:\\users\\me\\desktop\\ExcelData\\"
csv_files = glob.glob(os.path.join(path, "*.xls"))

dfl=[]
for f in csv_files:
    x= pd.read_excel(f)
    dfl.append(x)

【讨论】:

  • 我执行了代码。但是,df_list 是空的。请注意,“文件”变量是非空的,包含 80 个 xls 文件
  • 进行了编辑!确保您能够将数据读入代码(根据 windows 对文件路径进行了更改)
【解决方案2】:
import pandas as pd
import os
import glob

path = r"C:users/me/desktop/ExcelData"
files = glob.glob(path + "\*.xls")

finalexcelsheet = pd.DataFrame()

for file in files:
    df = pd.concat(pd.read_excel(file, sheet_name = None), ignore_index=True, 
    sort=False)
    finalexcelsheet = finalexcelsheet.append(df, ignore_index = True)

print(finalexcelsheet)

【讨论】:

  • 最终,我想要 Excel 输出,但不是这样。它创建了许多 NaN 值。在不同的 Pandas 之间涉及操作。现在我完成了。涉及数学运算、Dataframe 运算,包括水平 concat。
  • 对于这个解决方案,我假设所有数据框都有相同的列。如果是这种情况,代码将顺利运行。
猜你喜欢
  • 2016-07-27
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2016-10-28
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多