gpt4 book ai didi

python - 从多个文件中读取一行并写入一个文件

转载 作者:行者123 更新时间:2023-11-30 23:23:46 25 4
gpt4 key购买 nike

我有大约 45,000 个文件。我的目的是从每个文件中提取某一行并将它们累积在单个文件中。

我尝试使用 glob.glob,但问题是使用此模块时,文件的顺序似乎是混合的。

filin= diri+ '*.out'
list_of_files = glob.glob(filin)
print list_of_files
with open("A.txt", "w") as fout:
for fileName in list_of_files:
data_list = open( fileName, 'r' ).readlines()
fout.write(data_list[12])

上面是我使用的代码。主要是借用了本论坛别人的代码。

我想按顺序读取所有“.out”文件。每个文件都包含一分钟间隔的数据。例如,一个文件包含 2014/1/1/00:00 的数据,后续文件包含数据at 2014/1/1/00:01。所以按顺序读取这些文件非常重要。但是,当我使用上面的 glob.glob 和 print list_of_files 时,文件顺序似乎很困惑。我可以解决这个问题吗?

另外,如上所示,我想从每个文件的顶部读取第 12 行,但结果反复显示“超出索引”。

这个问题看起来组织得不太好。任何想法或帮助将不胜感激。

P.S 文件名如:Data_201308032343.out、Data_201308032344.out、Data_201308032345.out ……

谢谢。

最佳答案

os.listdir documentation 中所述,目录条目以任意顺序返回。如果您想应用特定订单,您需要确保自己:

list_of_filenames = glob.glob(input_fileglob)
sorted_list_of_filenames = sorted(list_of_filenames)

with open("A.txt", 'w') as outfile:
for filename in sorted_list_of_filenames:
data_list = open(filename).readlines()
outfile.write(data_list[12])

关于python - 从多个文件中读取一行并写入一个文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23798754/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com