首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >搜索.txt文件以查找多个列表项并输出计数/%/word

搜索.txt文件以查找多个列表项并输出计数/%/word
EN

Stack Overflow用户
提问于 2019-05-15 21:12:14
回答 1查看 84关注 0票数 1

我试图在给定的.txt文件(source_filename)中搜索一系列列表术语,并提供它们的计数输出、.txt文件中这些术语的%以及文本中列出的每一组术语的确切单词。

如何设置计数/报告功能?

代码语言:javascript
复制
#build GUI for text file selection
import PySimpleGUI as sg      
window_rows = [[sg.Text('Please select a .txt file for analysis')],      
                 [sg.InputText(), sg.FileBrowse()],      
                 [sg.Submit(), sg.Cancel()]]      
window = sg.Window('Cool Tool Name', window_rows)    
event, values = window.Read()    
window.Close()
source_filename = values[0]    

#written communication term list
dwrit = ('write','written','writing', 'email', 'memo')
written = dwrit

#oral communication term list
doral = ('oral','spoken','talk','speech,')
oral = doral 

#visual communication term list
dvis = ('visual','sight') 
visual = dvis

#auditory communication term list
daud = ('hear', 'hearing', 'heard')
auditory = daud

#multimodal communication term list
dmm = ('multimodal','multi-modal','mixed media','audio and visual')
multimodal = dmm

#define all term lists 
communication = (dwrit, doral, dvis, daud, dmm)

#search lists
from collections import Counter
with open(source_filename, encoding = 'ISO-8859-1') as f:
     for line in f:
         Counter.update(line.lower().split())
print(Counter(communication))

的问题是, --我现在正在打印所有列表中的所有术语,但实际上我并不是仅仅为了那些列出的术语而搜索文档,而忽略了所有其他术语.

理想的输出结果如下:

书写:数字,%,单词

口头:数字,%,单词

视觉:数字,%,单词

听觉:数字,%,单词

多式数:数字,%,单词

EN

回答 1

Stack Overflow用户

发布于 2019-05-16 18:36:54

柜台是一本字典,它是你正在计数的东西的键。这就是为什么你看到每一个单词,你不只是查找与你感兴趣的单词对应的单词(作为计数器中的键)。下面是一个示例,说明您如何处理其中的一个项,这是一个可以用来处理其他列表的模式。

试试这个:

代码语言:javascript
复制
from collections import Counter
c = Counter()
#search lists
with open(source_filename, encoding = 'ISO-8859-1') as f:
    for line in f:
        c.update(line.lower().split())
written_words = len([x for x in written if x in c.keys()])
print(f'Written: [{written_words}, {written_words/len(c.keys())} %]')
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/56157693

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档