1.发现os.listdir()获取的文件目录底下的名字是乱序的。。。。一个大坑。。
解决方法:
假设我的文件名字是1.xls,2.xls,3.xls…..这种的
那么使用fileList.sort(key= lambda x:int(x[:-4]))
就可以对os,listdir()得到的文件文字进行分类。
2.有两个list,如何转换成字典的形式
list1 = ["1","2","3"]
list2 = ["a","b","c"]
dictionary = dict(zip(list1, list2))
3.读取一个文件夹底下的所有文件 以及如何读取xls文件
import xlrd
import os
rootdir = "result/sum_vecs"
fileList = os.listdir(rootdir)
for j in range(len(fileList)):
filename = fileList[j]
path = os.path.join(rootdir, filename)
if os.path.isfile(path):
xls_file = xlrd.open_workbook(path)
xls_sheet = xls_file.sheets()[0]
rows = xls_sheet.nrows
columns = xls_sheet.ncols
# print(rows)
# print(columns)
word_weight_w2v = {}
words_in_vecs = []
weights_in_vecs = []
for ir in range(1,rows):
words_in_vecs.append(xls_sheet.cell(ir,0).value)
weights_in_vecs.append(xls_sheet.cell(ir,1).value)
# word_weight_w2v[words_in_vecs] = weights_in_vecs
# 现在拿到的是每一个文件里面的所有单词和对应的叠加权重
# print(words_in_vecs)
# print(weights_in_vecs)
word_weight_w2v = dict(zip(words_in_vecs, weights_in_vecs))
print(word_weight_w2v)
4.装什么包都是cannot unpack file这个错,使用以下的命令:
pip install -i http://pypi.douban.com/simple/ –trusted-host pypi.douban.com pakegename
5.在按知乎的教程更改了ipython notebook 如何修改一开始打开的文件夹路径
jupyter notebook的启动目录后打开的还是C盘的某目录,然后改了一下jupyter notebook的快捷方式,在后面加了一下要打开的目录。。。终于可以了。
6.读取文件的时候报错'gbk' codec can't decode byte 0xbf in position 2: illegal multibyte sequence
,查看了一下文档的编码,确实是ANSI,也是用encoding="gbk"
读取的,但是还是报错。
解决方法:改为encoding='gb18030', errors='ignore'
OK成功读入!
7.文本预处理,去标点符号:
string = re.sub('[\s+\.\!\/_,$%^*(+\"\')]+|[+——()\\﹒〈〉?【】《》“”!,。?%、~@#¥%……&*()]+', "",raw)
string = re.sub("(nbsp)+","",string)