哇塞,Python读取多个Excel文件竟然如此简单 |
您所在的位置:网站首页 › python处理多个表格 › 哇塞,Python读取多个Excel文件竟然如此简单 |
学习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输入文件来存储文件路径更有意义。 |
CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3 |