根据名称/类型

时间:2017-10-05 09:05:17

标签: excel text-processing

对于我的一部分工作,我们根据用户在其驱动器中拥有的所有文件制作一份综合列表。这些用户必须决定是否存档这些文件(由Y或N表示)。作为对这些用户的服务,我们手动填写这些用户。

我们将这些文件导出到excel中的长列表中,该列表将每个文件显示为 X:\ 4。经济学\ 10。 XXXXXXXX \ 04。 XXXXXXXXX \ 04。 xxxxxxxxxx \ filexyz.pdf

我认为我们可以轻松地自动执行此操作,因为标准命名约定可以轻松确定要保留哪些文件以及删除哪些文件。一个包含字符串" CAB"的文件例如,应保留文件名中的文件名。但是,我不知道如何以及从哪里开始。有人能指出我正确的方向吗?

1 个答案:

答案 0 :(得分:0)

我建议采取以下一般步骤

  1. 获取原始数据
  2. 您可以在python中阅读excel file into a pandas dataframe。理想情况下,您将拥有一个看起来像这样的原始数据框

         Filename                           Keep
    0    X:\4. Economics ...\filexyz.pdf    0
    1    X:\4. Economics ...\fileabc.pdf    1
    2    X:\3. Finance   ...\filetef.pdf    1
    3    X:\3. Finance   ...\file123.pdf    0
    4    G:\2. Philosophy ..\file285.pdf    0
                       ....
    
    1. 预处理/清洁
    2. 这部分更取决于您,例如您可以删除所有特殊字符和数字。这将留下如下字母

           Filename                     Keep
      0    "X Economics filexyz pdf"    0
      1    "X Economics fileabc pdf"    1
      2    "X Finance filetef pdf"      1
      3    "X Finance file123 pdf"      0
      4    "G Philosophy file285 pdf"   0
                      ....
      
      1. 矢量化字符串
      2. 对于理解文本数据的算法,通常会对它们进行矢量化。这意味着您将它们转换为算法可以处理的数字。一个简单的方法是使用tf-idf and scikit-learn。在此之后,您的数据框可能看起来像这样

             Filename                               Keep
        0    [0.6461,  0.3816 ...  0.01,  0.38]     0
        1    [0.,      0.4816 ...  0.25,  0.31]     1
        2    [0.61,    0.1663 ...  0.11,  0.35]     1
                               ....
        
        1. 训练分类器
        2. 既然您拥有可以使用的算法的好数字,您可以使用scikit-learn训练分类器。只需搜索" scikit learn分类示例"你会发现很多。

          一旦你有一个训练有素的分类器,你可以比较它以前没见过的测试数据的预测。这样你就能获得准确的感觉。

          希望这足以让你入门!