【发布时间】:2013-11-05 23:32:39
【问题描述】:
我有一个文件夹,其中包含数百个(可能超过 1 k)的 csv 数据文件和按时间顺序排列的数据。理想情况下,这些数据将保存在一个 csv 中,这样我就可以一次完成所有的分析。我想知道的是,有没有一种方法可以使用 python 将所有文件相互附加。
我的文件存在于文件夹位置,如下所示:
C:\Users\folder\Database Files\1st September
C:\Users\folder\Database Files\1st October
C:\Users\folder\Database Files\1st November
C:\Users\folder\Database Files\1st December
etc
在每个文件夹中都有 3 个 csv(我使用 csv 一词很随意,因为这些文件实际上保存为 .txt 文件,其中包含由管道 | 分隔的值)
假设这些文件被称为:
MonthNamOne.txt
MonthNamTwo.txt
MonthNameOneTwoMurged.txt
我将如何,甚至可以编写一些代码来遍历此目录中的所有这些文件夹,然后将所有 OneTwoMurged.txt 文件合并在一起?
【问题讨论】:
-
首先学习如何使用
os.path.walk()。这将为您提供一种查找所有文件的简单方法。忘记csv部分,直到你掌握了那么多。然后剩下的就很简单了:-) - 或者从更简单的os.walk()开始。一开始不那么混乱。 -
如果你碰巧有 bash msys 或 cygwin 你可以
cat mydir/**/*OneTwoMurged.txt > my_merged_file.txt -
@TimPeters 因为
os.path.walk已被弃用并且不再在3.x 中,我认为OP 应该忽略os.path.walk。 -
@JonClements,好建议,乔恩!我同意。
标签: python file python-2.7 csv directory