2017-07-26 72 views
-4

我有一堆文件,我想记录一个文件出现的实例数。下面是数据的样本,我有:如何循环浏览Python中的文件来识别和计算重复项?

Sample of the data

我想要的代码,通过所有这些文件和记录输出作为一个单独的Excel文件,运行如下:

Name    Date  Number of Files 
    MarketDataServer 30012013 2 
    MarketDataServer 30032013 1 
    . 
    . 
    . 
    . 
    NetStat   01012013 5 
    NetStat   01022012 3 

是否有任何这可以通过使用python脚本来完成吗?

+0

是的,是可以做到的。你必须看看'os.listdir'模块遍历文件,并通过're'模块从文件名模式中提取信息。 –

+3

这个问题没有显示任何努力/研究创造一个解决方案。用Python解决这个问题是非常有可能的,但是如果不知道你在苦苦挣扎,那很难协助。 正如@ ashish的评论所述,os.listdir会给你一个文件名列表。 像openpyxl这样的第三方库可让您将数据/内容写入Excel电子表格。尽管取决于你想要做什么,但是一个逗号分隔值(CSV)文件可能就足够了,在这种情况下,Python中的csv模块工作得很好。 –

+0

你的问题的答案是:是的,它可以完成。但我们不会为你做。尝试写一些代码,然后如果你有问题,我们会帮你解决。 –

回答

-2

您可以创建类似:

import os 
d = {} 
for current_dir in [dir1, dir2, dir3..] # iterates over directories with files 
    files = os.listdir(current_dir) 

    for fi in files: 
     if fi in d.keys(): 
      d[fi] += 1 # it is already there, let's increment 
     else: 
      d[fi] = 1 # it is a new file 

for k, v in d.items(): # let's print the file stats 
    print 'File:', k, 'count':' v 
+0

谢谢@Radekhofman。这有所帮助。但是,它会分别读取每种文件类型。我希望能够在相同的文件名下统计.GZ和.GZ_1。无论如何,我可以做到这一点? –