Python 如何计算有多少行有一个特定的字
我不确定if语句是否错误?我试着分割每一行,遍历每一个索引,找到“乌鸦”并返回计数Python 如何计算有多少行有一个特定的字,python,Python,我不确定if语句是否错误?我试着分割每一行,遍历每一个索引,找到“乌鸦”并返回计数 def count_word(file_url, word): r = requests.get(file_url, stream=True) count = 0 for line in r.iter_lines(): words = line.split() if line[1:] == 'the raven': count +=
def count_word(file_url, word):
r = requests.get(file_url, stream=True)
count = 0
for line in r.iter_lines():
words = line.split()
if line[1:] == 'the raven':
count += 1
return count
当你这样做的时候
`words = line.split()`
您正在为变量words
分配字符串列表-行中的非空白字符串。但是在那之后,你就不能用单词做任何事情了。相反,您可以:
if line[1:] == 'the raven':
检查整行,减去第一个字符,是否就是“乌鸦”
(为处理unicode/字节而编辑):如果您想合计“the raven”在整个文件中出现的总次数,您可以跳过拆分
和如果
,直接从每一行获取出现次数。由于请求为您提供字节
对象(在python 3中)或unicode
对象(在python 2中),因此您需要首先使用适当的编码对行进行解码:
for line in r.iter_lines():
count += line.decode('utf-8').count('the raven')
如果您想返回显示“the raven”的总行数,可以执行以下操作:
for line in r.iter_lines():
if 'the raven' in line.decode('utf-8'):
count += 1
根据您的数据源,您可能需要选择不同的编码。当您这样做时
`words = line.split()`
您正在为变量words
分配字符串列表-行中的非空白字符串。但是在那之后,你就不能用单词做任何事情了。相反,您可以:
if line[1:] == 'the raven':
检查整行,减去第一个字符,是否就是“乌鸦”
(为处理unicode/字节而编辑):如果您想合计“the raven”在整个文件中出现的总次数,您可以跳过拆分
和如果
,直接从每一行获取出现次数。由于请求为您提供字节
对象(在python 3中)或unicode
对象(在python 2中),因此您需要首先使用适当的编码对行进行解码:
for line in r.iter_lines():
count += line.decode('utf-8').count('the raven')
如果您想返回显示“the raven”的总行数,可以执行以下操作:
for line in r.iter_lines():
if 'the raven' in line.decode('utf-8'):
count += 1
根据您的数据源,您可能需要选择不同的编码。以下对代码的轻微编辑将允许您计算由文件url
定义的文件中由参数word
定义的任何单词
def count_word(file_url, word):
r = requests.get(file_url, stream=True)
count = 0
for line in r.iter_lines():
count += line.count(word)
return count
以下对代码的轻微编辑将允许您计算由file\u url
定义的文件中由参数word
定义的任何单词
def count_word(file_url, word):
r = requests.get(file_url, stream=True)
count = 0
for line in r.iter_lines():
count += line.count(word)
return count
您看到了哪些错误?请阅读。特别是,请确保包含以下信息:1)您预期会发生什么,2)正在发生什么。它只返回None,即“有多少行有一个特定单词”您的意思是“一个特定单词出现在多少行中”?您看到了哪些错误?请阅读。特别是,请确保包含以下信息:1)您期望发生什么,2)正在发生什么。它只返回None,即“有多少行有一个特定的单词”您的意思是“一个特定的单词出现在多少行中”?我已经尝试了所有这些,但它一直给我这个错误:“需要一个类似字节的对象,而不是“str”,抱歉-没有意识到您正在使用python 3。在这种情况下,您需要对输入进行解码。我将编辑我的答案。我已经尝试了所有这些,但它一直给我这个错误:“需要一个类似字节的对象,而不是'str'”啊,对不起,我没有意识到你在使用python 3。在这种情况下,您需要对输入进行解码。我将编辑我的答案。