写python时遇到的问题【持续更新】

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)

猜你喜欢

转载自blog.csdn.net/yumi_huang/article/details/80041489