Python - 合并文件夹中的所有 CSV 文件2025年3月17日 | 阅读 3 分钟 在本教程中,我们将演示几种基于 Python 的方法,用于将多个 CSV 数据合并到一个文件中(此方法也适用于文本和其他类型的文件)。还将有一个关于如何快速合并多个 CSV 文件的奖励课程,适用于 Linux。最后,通过将所有 CSV 文件转换为 Pandas DataFrame,然后为每一行标记其来源的 CSV 文件,您可以完全控制导入数据,合并数千个文件。 如何使用 Python 合并多个相同的 CSV 文件?请注意,我们假设所有文件都包含相同的列和信息。使用简短的代码示例连接下载文件夹中的 CSV 文件。 数据集在下一步教程中,我将使用五个名为 sales 的虚拟 CSV 格式文件,这些文件可以在此文件夹中找到。每个文件都有完全相同的列数和 100 万行。例如,`sales_recors_n1.csv` 文件打开时的格式如下。 在将文件下载到笔记本上的特定目录后,可以使用 `os` Python 模块中的 `listdir()` 方法列出文件内容。 为了使用此方法,您必须提供目录的确切路径,如下所示。 请注意此方法生成的 Python 列表,其中包含 `sales csv` 目录中的所有文件。这很有用,因为它允许使用该对象进行迭代文件读取。
第一步的目的是使用 Python 将五个 CSV 文件合并成一个包含 500 万行的单个数据集。我将使用 `os` 或 `pandas` 包来完成此操作。以下是完成此操作的完整 Python 脚本。 ![]() 现在,我将逐步为您讲解代码的执行过程。
当我们打印 `file list` 的内容时,我们得到以下结果。 输出 ['/Users/anbento/Documents/sales/sales_csv/sales_records_n5.csv', '/Users/anbento/Documents/sales/sales_csv/sales_records_n4.csv', '/Users/anbento/Documents/sales/sales_csv/sales_records_n1.csv', '/Users/anbento/Documents/sales/sales_csv/sales_records_n3.csv', '/Users/anbento/Documents/sales/sales_csv/sales_records_n2.csv'] 所有文件现在都可以解析,并且已关联其路径。 请记住,尽管列表是无序的,但如果文件合并的顺序很重要,那么在迭代列表时,我们将需要使用 `sorted()` 函数。 3. 我们现在开始创建一个空的 CSV 列表。然后,我们使用 `pandas` 的 `read_csv()` 方法连续读取文件列表中的任何 CSV 文件,并将这些数据集添加到 CSV 列表中。 需要注意的是,当使用 `read_csv()` 解析 CSV 文件时,数据集会自动转换为 pandas DataFrame,因此 `csv_list` 现在包含 5 个不同的 pandas DataFrame。但是,除了解析文件之外,我们还添加了以下命令。 这会向每个 DataFrame 添加一个新列,标题为源 CSV 文件的名称,这样,当文件合并时,就可以清楚地知道哪个文件是哪个。 最终,通过将 `concat()` 方法应用于 CSV DataFrame,将文件合并到一个单独的 DataFrame 中。如果 `ignore_index` 设置为 `True`,将创建一个新的有序索引。 最后一步是将 `csv_merged` 从 pandas DataFrame 保存到同一目录。要实现这一点,请使用 `to_csv()` 命令。当使用 `index=False` 时,表示不应添加包含索引的列。 输出 ['sales_records_full.csv', 'sales_records_n1.csv', 'sales_records_n2.csv', 'sales_records_n3.csv', 'sales_records_n4.csv', 'sales_records_n5.csv'] 除了包导入之外,仅需 7 行代码和几秒钟的运行时间即可获得此结果。 下一主题Python 合并字典 |
在本教程中,我们将学习 Python 中用于命令行的目录树生成器工具。Python 开发人员应该具备使用命令行界面 (CLI) 创建用户友好应用程序的技能。这项技能有助于创建自动化和加速的工具...
14 分钟阅读
我们想要知道给定过程何时完成以及任务完成了百分之多少,这是非常基本的人性。这是因为当一个过程在进行时,我们会变得非常不耐烦,我们只能...
7 分钟阅读
查找项目的索引是有意义的,因为在 Python 中,列表的索引被用来检索其元素。当处理一个短列表时,这可能看起来很简单,但随着列表变长,这可能会变得很乏味。Python 有一个名为 index 的内置方法...
阅读 4 分钟
Python 中的 fabs 方法用于返回数字的绝对值。可以通过导入 math 模块来使用它。Python 中的 math 模块可用于实现不同的基本数学运算,如加法、减法、除法和乘法。它也可以用于...
阅读 3 分钟
?本教程解释了什么是 GUI 以及如何使用 Python 构建 GUI 应用程序。它还展示了如何使用 wxPython 创建 GUI。GUI 应用程序是计算机程序或硬件的图形用户界面。你...
阅读 16 分钟
Python 列表中的 Append、Extend 和 Insert 之间的区别:列表类似于动态大小的数组,在 C++ 中的 vector 或 Java 中的 Arraylist 等其他编程语言中声明。列表不一定是同质的,这是列表的主要原因...
阅读 3 分钟
在创建和向客户交付商品过程中涉及的制造和分销网络被称为供应链。而供应链分析则研究供应链的许多元素,以学习提高其效率并为消费者增加更多价值的方法。这篇文章是为...
阅读 22 分钟
什么是?Python 图形编程是指使用 Python 编程语言为不同的应用程序创建图形用户界面 (GUI)。这可以包括桌面应用程序、Web 应用程序和移动应用程序。Python 提供了各种用于创建图形界面的库和框架,例如 Tkinter、PyQt、wxPython、PyGTK、...
5 分钟阅读
障碍对象允许一组线程在继续执行之前相互等待。它对于需要按特定顺序执行的任务,或需要同步以避免竞争条件的任务非常有用。它们用于...
阅读 3 分钟
给定两个变量,如果一个变量的值依赖于另一个变量的值,我们说这些变量是相关的。两个变量之间关系的统计度量称为“相关性”。在这里,相互依赖的两个变量是...
阅读9分钟
我们请求您订阅我们的新闻通讯以获取最新更新。
我们提供所有技术(如 Java 教程、Android、Java 框架)的教程和面试问题
G-13, 2nd Floor, Sec-3, Noida, UP, 201301, India