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

问题描述 投票:1回答:1

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

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)
python python-3.x text-files
1个回答
0
投票
您需要每日摘要,将每小时文件分类在一起。好的,很好。

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

import re date_re = re.compile(r'^id-(\d{4}-\d{2}-\d{2})-\d{2}\.txt$')

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

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

© www.soinside.com 2019 - 2024. All rights reserved.