现在公司这边需要一批电影的词库,一方面是一堆现有的文件中提取整合,另一方面需要自己去爬取。以下就以这两个方面来分别介绍一下。
1.1 如何将一个文件夹下的一堆文件整合成一个文件,把数据合并
这里需要用到os这个库,os.listdir(filepath)会返回该路径下所有文件的一个迭代器,然后再分别把这些文件用for循环打开,把里面的内容提取出来,用一个第三方的变量存储,最后所有的都读完之后,就把这个变量单独存成一个txt,这就是思路。
程序代码可以参考以下以下几行:
import os
filenames=os.listdir(datafile)
for filename in filenames:
with open(datafile+filename, encoding='utf-8') as f:
for line in f.readlines():
prewordlist.append(line.replace("\n",""))
这个执行完之后,会得到一个prewordlist,这里面存储了所有文件中的词汇组成的列表。
1.2 如何对list进行去重
与list这种数据结构平行的还有一个set(集合),set的特点就是里面不存在重复的数据,可以直接使用set(list)将一个list转换为set,也可以将一个list(set)将一个set转换为list。 此外,set还可以进行求交集,并集和差集。
例如在这里,如果我们想对于prewordlist进行去重处理得到新的list,可以进行如下操作,