哇塞,Python读取多个Excel文件竟然如此简单

excelperfect

标签:Python与Excel,pandas

本文主要讲解如何使用pandas库将多个Excel文件读入到Python。

方法1:从文件夹获取文件——PowerQuery样式

Excel Power Query具有“从文件夹获取数据”功能,允许我们加载特定文件夹中所有文件。我们可以用Python轻松地完成这项工作。工作流程如下所示:

  • 给定文件夹,查找其中的所有文件。

  • 缩小文件选择范围,我需要加载哪些文件?

  • 逐个加载选定文件中的数据。

为了实现上述工作流程,我们需要os库和pandas库。os库提供了与计算机操作系统交互的方法,例如查找文件夹中存在哪些文件。os.listdir()返回特定文件夹中所有文件名(字符串)的列表。一旦有了文件名列表,我们就可以遍历它们并将数据加载到Python中。

图1

我们的工作文件夹包含多种文件类型(Word、Excel、图像和Exe文件,还有文件夹),但是file.endswith('.xlsx')确保我们只将Excel文件读入Python。

os.path.join()提供了一种创建文件路径的有效方法,在可能的情况下,应始终使用该方法,而不是folder+”\”+file。

方法2:使用一个Excel输入文件

第二种方法要求我们有一个单独的Excel文件作为“输入文件”,它包含指向我们打算读入Python的各个文件的链接。要重复我们刚才介绍的示例,需要创建一个Excel文件,如下图2所示,基本上只有一列,其中包含指向其他文件的链接。

图2

可能你会非常喜欢这种方法,因为:

  • 可以在熟悉的环境(电子表格)中组织和存储信息(文件名、链接等)。

  • 如果我需要更新或添加要读取的新文件,只需要更新这个输入文件,无需更改编码。

该工作流与前面的方法类似。首先,我们需要让Python知道可以从这个输入文件获得的文件路径。

图3

这基本上是一个只有一列的简单数据框架,其中包含文件链接。现在我们可以遍历列表并读取Excel文件。

图4

何时使用“从文件夹获取文件”与“Excel输入文件

在确定使用哪种方法时,我会问两个简单的问题。

1.源文件夹是否包含我不需要的额外文件?

  • 例如,如果一个文件夹包含20个csv文件,而我只需要其中10个。使用Excel输入文件方法可能更容易。编辑Excel输入文件比在Python中编写代码来处理不同的场景更简单、更快。

  • 但是,如果文件夹包含50个文件,其中20个是csv,我全部需要这些文件。此时,我将使用从文件夹获取文件的方法,因为我们可以轻松地从文件列表中选择所有.csv文件。

2.是否所有文件都位于同一文件夹中?

  • 如果文件位于不同的文件夹中,则使用Excel输入文件来存储文件路径更有意义。

注:本文学习整理自pythoninoffice.com。

欢迎在下面留言,完善本文内容,让更多的人学到更完美的知识。

欢迎到知识星球:完美Excel社群,进行技术交流和提问,获取更多电子资料,并通过社群加入专门的微信讨论群,更方便交流。

(0)

相关推荐