【问题标题】:creating docID for each text file in folder为文件夹中的每个文本文件创建 docID
【发布时间】:2017-11-12 07:41:29
【问题描述】:

你好,我有一个名为 dict 的文件夹,该文件夹包含 4 到 6 个文本文件,现在我想为文件夹中的每个文本文件分配一个 ID docID,我使用了下面的代码

docID_list = [int(docID_string) for docID_string in os.listdir('/Users/suryavamsi/dict')]

我有一个错误

invalid literal for int() with base 10: 

我试过很多方法都破解不了,谁能帮帮我

【问题讨论】:

    标签: python elasticsearch file-io nlp data-science


    【解决方案1】:

    您似乎正在尝试将字符串转换为整数。
    这仅在您的字符串看起来像整数时才有效(例如'1')。

    如果您只想与每个文件关联一个整数值,请使用enumerate

    docID_list = [i for i, _ in enumerate(os.listdir('/Users/suryavamsi/dict'))]
    

    或者只是:

    docID_list = list(range(len(os.listdir('/Users/suryavamsi/dict'))))
    

    您可能希望保留将docID 映射到文件名的dict,在这种情况下,您可以使用字典推导:

    docID_list = {i:doc for i, doc in enumerate(os.listdir('/Users/suryavamsi/dict'))}
    

    【讨论】:

      猜你喜欢
      • 2020-03-03
      • 1970-01-01
      • 2013-12-29
      • 1970-01-01
      • 2022-12-03
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多