【问题标题】:Reading multiple excel files from a certain path (with certain sheets names) into a single pandas data frame从特定路径(具有特定工作表名称)读取多个 excel 文件到单个 pandas 数据框中
【发布时间】:2023-01-08 21:22:15
【问题描述】:

我怎样才能从存在于特定路径中的所有 excel 文件中只读取工作表 '2g'、'3g'、'4g' 并将它们写入三个不同的数据框。 所有 2g 的工作表都应存储在名为 (2g) 的 pandas 数据框中 所有 3g 工作表都应存储在名为 (3g) 的 pandas 数据框中 所有 4g 的工作表都应存储在名为 (4g) 的 pandas 数据框中 以下是 excel 文件的屏幕截图:

以及我想从每个 excel 文件中读取的工作表,如下面的屏幕所示:

【问题讨论】:

  • 你查过 pandas 文档 pandas.pydata.org/docs/reference/api/pandas.read_excel.html 了吗?应该很简单。
  • 但是我怎样才能循环遍历此路径中的所有 excel 文件并在每次循环时取一个特定的工作表名称,然后添加我阅读的内容以与 pandas DF 2g 连接,例如?感谢您的帮助
  • 我之前写了一个代码来做这个,但只在一个 excel 文件上,在我写的下面:import pandas as pd NUR = pd.read_excel(r'C:\Users\jalal.hasain\Desktop\Copy of NUR Data 20- 12.xlsx', sheet_name=['2G','3G','4G','Rank'])twoG=NUR.get('2G') threeG=NUR.get('3G') fourG=NUR.get ('4G')
  • 将工作表放入列表变量并执行 for 循环。然后根据需要连接数据(将行或列添加到现有的 dfs 或创建全新的)
  • 我遇到了一个问题,如果你告诉我它是如何完成的,我将不胜感激你的帮助,我是一个新的学习者,谢谢你。

标签: python excel pandas dataframe


【解决方案1】:

您可以将 read_excel 与多个工作表名称一起使用:

data2g = []
data3g = []
data4g = []

for xlsx in pathlib.Path('mobile').glob('*.xlsx'):
    df2g, df3g, df4g = pd.read_excel(xlsx, sheet_name=['2G', '3G', '4G']).values()
    data2g.append(df2g)
    data3g.append(df3g)
    data4g.append(df4g)

df2g = pd.concat(data2g, ignore_index=True)
df3g = pd.concat(data3g, ignore_index=True)
df4g = pd.concat(data4g, ignore_index=True)

如您所见,您可以使用循环提高可读性。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2020-09-17
    • 1970-01-01
    • 2017-09-02
    • 2018-07-26
    • 2023-02-09
    • 1970-01-01
    • 2023-03-12
    相关资源
    最近更新 更多