TypeError:强制使用Unicode:需要字符串或缓冲区,在python中找到文件
我想阻止单词,为此我从TypeError:强制使用Unicode:需要字符串或缓冲区,在python中找到文件,python,nltk,Python,Nltk,我想阻止单词,为此我从nltk导入了porterstemmerpkg,但在运行时发生了一个错误 错误是: TypeError: coercing to Unicode: need string or buffer, file found 我的Python代码是 import nltk; from nltk.stem import PorterStemmer stemmer=PorterStemmer() file = open('C:/Python26/tes
nltk
导入了porterstemmer
pkg,但在运行时发生了一个错误
错误是:
TypeError: coercing to Unicode: need string or buffer, file found
我的Python代码是
import nltk;
from nltk.stem import PorterStemmer
stemmer=PorterStemmer()
file = open('C:/Python26/test.txt','r')
f=open("root.txt",'w')
with open(file,'r',-1) as rf:
lines = rf.readlines()
for word in lines:
root = stemmer.stem(word)
f.write(root+"\n")
f.close()
是的,我试过了,得到了一个我无法理解的错误,错误是1.6.2 回溯(最近一次呼叫最后一次): 文件“C:\Python26\check.py”,第10行,在 打开(文件'r',-1)作为rf: UnicodeDecodeError:“ascii”编解码器无法解码第6位的字节0xf8:序号不在范围内(128) 步行
交谈
橙子
书籍
Src
Src
单克隆抗体
您正在第4行中打开
文件
,然后将其用作第6行中另一个open()
的文件名。只要做:
import nltk;
from nltk.stem import PorterStemmer
stemmer=PorterStemmer()
with open("root.txt",'w') as f:
with open('C:/Python26/test.txt','r',-1) as rf:
lines = rf.readlines()
for word in lines:
root = stemmer.stem(word)
f.write(root+"\n")
您正在第4行中打开
文件
,然后将其用作第6行中另一个open()
的文件名。只要做:
import nltk;
from nltk.stem import PorterStemmer
stemmer=PorterStemmer()
with open("root.txt",'w') as f:
with open('C:/Python26/test.txt','r',-1) as rf:
lines = rf.readlines()
for word in lines:
root = stemmer.stem(word)
f.write(root+"\n")
您已经打开了该文件。您正试图通过open…将文件对象传递给
。删除file=open('C:/…
行)
附言。
您将在行而不是单词上进行迭代。您已经打开了文件。您正试图通过open…
将文件对象传递给。Removefile=open('C:/…
行)
附言。
您将迭代行,而不是单词。似乎问题在于传递给函数的参数,我猜它在root=stemmer.stem(word)
尝试使用函数genfromtxt而不是open():
这应该可以解决问题。问题似乎在于传递给函数的参数,我猜它在root=stemmer.stem(word)
尝试使用函数genfromtxt而不是open():
这应该可以解决问题。我试过“Anthon”的代码它没有产生任何错误,但没有阻止错误word@ShaheenGul你试过我的吗?是的,我试过了,但出现了一个我无法理解的错误。你在文档开头声明编码了吗?把这个放在文件的开头,看看错误是否仍然存在#-*-编码:UTF-8-*-
这是什么意思?我不明白无论如何,我也会这样做,但当我添加#--coding:UTF-8---,因为#用于注释文本时,结果是一样的,但是当我删除这个时,我遇到了错误,我尝试了“Anthon”的代码它没有产生任何错误,但没有阻止错误word@ShaheenGul你试过我的吗?是的,我试过了,但出现了一个我无法理解的错误。你在文档开头声明编码了吗?把这个放在文件的开头,看看错误是否仍然存在#-*-编码:UTF-8-*-
这是什么意思?我不明白无论如何,我也会这样做,但当我添加#--coding:UTF-8---,因为#用于注释文本时,结果是一样的,但是当我删除这个时,遇到了错误
>>> import numpy as np
>>> from StringIO import StringIO
>>> np.genfromtxt('C:/Python26/test.txt', delimiter=",") #Whatever delimiter your file has.