我正在编写一个程序,其中iam应该从文件中读取,跳过所有人的名字并处理其他信息。
我应该使用什么逻辑来跳过阅读名称。
我从文件中读取文字,然后使用它们的出现频率制作文字云。 对于像文章这样的琐事我做了一个列表,并确保如果读取的单词在本文列表中,则不计算它们。(我是用字典做的)
但是我无法理解如何跳过阅读姓名。
WordList=[]
with open('file.txt','r') as f:
for line in f:
for word in line.split():
if len(word)>3:
if word not in IgList:
WordList.append(word.lower())
# Get a set of unique words from the list
word_set =[]
for word in WordList[::-1]:
if word not in word_set:
word_set.append(word)
# create your frequency dictionary
freq = {}
# iterate through them, once per unique word.
for word in word_set:
freq[word] = WordList.count(word) / float(len(WordList))
size=[]##Size of each word is stored here
for i in word_set:
size.append(100*freq[i])
for i in range(0,len(word_set)):
print size[i],word_set[i]
答案 0 :(得分:0)
假设句子通常以文章开头而“名称”以大写字母
开头IgList=list of articles
with open('file.txt','r') as f:
for line in f:
for word in line.split():
if word not in IgList:
if word[0] not in word.upper():##Cheking if first letter is Capital
WordList.append(word.lower())
如果一个单词以大写字母开头,则会被删除。 可以编写额外的代码来跳过第一个读取的单词。
答案 1 :(得分:-2)
with open("filename") as f:
rd=f.readlines()
print (rd[:x])
x
是names
之后的索引号,假设您知道文件中的名称在哪里。基本上它会跳过这些名字。例如,如果您的文件是这样的;
John 25 USA
Mary 26 Bangladesh
Usain 63 Republic of the Congo
你必须写;
print (rd[1:])
或者如果是这样的话;
63 Republic of the Congo Usain
26 Bangladesh Mary
25 USA John
你必须输入;
print (rd[:1])