【发布时间】:2018-10-26 11:39:23
【问题描述】:
我在具有这种模式 YYYY/MM/DD/HH/MM 的目录中有数千个文件:
- 201801010000.txt
- 201801010001.txt
- 201801010002.txt
我只想保留小时数,因此我需要将每天每小时的 60 个文件合并为一个。 我不知道如何搜索文件名以获取我想要的 60 个文件。这是我写的
def concat_files(path):
file_list = os.listdir(path)
with open(datetime.datetime.now(), "w") as outfile:
for filename in sorted(file_list):
with open(filename, "r") as infile:
outfile.write(infile.read())
如何命名文件以保留日期?我现在正在使用日期时间,但它会覆盖当前文件名。使用我的代码,我将所有文件合并为一个,我应该将每个 % 60 合并到一个不同的文件中。
【问题讨论】:
-
如果文件名已经是 YYMMDDHHMM 格式,你就不能把
.txt扩展名前的最后两个字符去掉吗? -
IMO
groupby和datetime.strptime的组合将轻松解决此问题。你能详细说明输入和输出吗?
标签: python file merge concatenation cat