如何读取多个文本文件,而仅读取同一组的所有文本文件?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何读取多个文本文件,而仅读取同一组的所有文本文件?相关的知识,希望对你有一定的参考价值。

我的目录中有几个这样的文本文件,

id-2020-01-21-22.txt
id-2020-01-21-23.txt
id-2020-01-22-00.txt
id-2020-01-22-01.txt
id-2020-01-22-02.txt
id-2020-01-23-00.txt
id-2020-01-24-00.txt

所以我如何像在先一起读取id-2020-01-21-22.txtid-2020-01-21-23.txt一样读取它们,将它们放入数据框,将它们写入组合的文本文件,然后将id-2020-01-22-00.txtid-2020-01-22-01.txtid-2020-01-22-02.txt全部一起,将它们写入数据帧,依此类推,直到目录中的最后一个文件。

所有文本文件的内部结构如下:

100232323\n
903812398\n
284934289\n
empty line placeholder

没有标题,但是每个文本文件的末尾都有一个空行。我是python的新手,如果可以帮助我,请多谢。

这是我所走的距离:

import os

new_list = []
for root, dirs, files in os.walk('./textFilesFolder'):
    for file in files:
        if file.endswith('.txt'):
            with open(os.path.join(root, file), 'r') as f:
                text = f.read()
                new_list.append(text)


print(new_list)
答案
您需要每日摘要,将每小时文件分类在一起。好的,很好。

创建Y-M-D日期正则表达式:

import re date_re = re.compile(r'^id-(\d4-\d2-\d2)-\d2\.txt$')

现在,您可以在循环中将现有的if替换为:

m = date_re.search(file) if m: date = m.group(1) print(f'Working on day date ...') ...

以上是关于如何读取多个文本文件,而仅读取同一组的所有文本文件?的主要内容,如果未能解决你的问题,请参考以下文章

多个线程从同一个文件中读取

matlab如何读取多个文本文件

在 Spark 中读取具有多个标题的文本文件

如何读取R中的多个文本文件

如何将多个文本文件读入单个 RDD?

如何一次读取并附加到文本文件?