工资表英语单词_英文工资的单词怎么写_保存英文

办公室的工作,经常需要对文字进行处理。

假如你得到一段英文文字,如果你希望将文字内容当中的英文单词单独提取出来,整理成一个单词表。

那么几行代码打造一个小小机器人,让它迅速帮你完成这项工作。

我们先来新建一个Python文件命名为test.py,然后准备一段英文文字,将它保存为记事本文档(txt):

Two Little Monkeys The monkey mother has two little monkeys.

She likes the younger, not the other. One day, they were playing in a forest when a wolf came running at them.

The monkey ran away with the younger monkey in a hurry and left the older alone.

She climbed up a tree and held the younger in her arms. After some time, the wolf went away slowly.

The monkey took the baby out of her arms. She was surprised to see that the baby had died, for the baby was held in arms too highly.

Very long time later, she remembered to look for the older baby.

The older baby was hiding in a wood. So he saved himself.

1. The monkey mother likes the older, not the younger.

2. One day, they were playing in a forest when a tiger came running at them.

3. The monkey mother climbed up a tree and held the younger in her arms.

4. The younger baby was hiding in a wood.

5. The older monkey saved himself.

大家可以复制以后,保存为txt文件,与test.py文件放在相同的目录。

英文工资的单词怎么写_工资表英语单词_保存英文

这是为了操作方便。在代码区输入以下代码:

open('英文文件.txt','r')

代码的意思就是打开文件名为‘英文文件.txt’的文件,这里第一个单引号里面是文件的全名,包括扩展名。

当然,如果你要打开的文件没有与程序文件在相同的目录下,如果是‘D:/XXX.txt’,也可以写上,但要注意的是反斜杠‘/’,不要写成''。

后面参数'r'的意思是,读取模式,如果文件不存在将会报错。

其他模式:'w'指写入模式,如果文件里面原来有内容保存英文,将先清除原有的内容,再写入数据;

'a'是指追加模式,即将要写入的内容自动追加到原有的内容后面,不会清除原有的内容。

好,我们现在来点击右键运行一下:

保存英文_工资表英语单词_英文工资的单词怎么写

啥也没有!难道程序出错了?

保存英文_英文工资的单词怎么写_工资表英语单词

并不是程序出错了,而是程序已经将文件读取到内存中,之后并没有做任何操作。

我们来修改一下代码:

f=open('英文文件.txt','r')
print(f)

再次运行,还是什么也没有,不过屏幕上输出一段奇怪的文字:

原来我们只是执行了一个读取的动作,并没有实质性的内容提取。再来改一下代码看看:

f=open('英文文件.txt','r')
nr=f.readlines()
print(nr)

这一次,屏幕输出了文件的全部内容,说明我们读取成功了!

工资表英语单词_保存英文_英文工资的单词怎么写

大家有没有注意到,英文的前面与一个方括号:[',这是什么意思呢?

我们修改一下print后面的内容,print(nr)改为print(type(nr))再试试看:

英文工资的单词怎么写_工资表英语单词_保存英文

是什么意思呢?这是说明,刚才输出的方括号里面的内容是一个列表类型,因为我们的英文文字是一个段落,当我们用readlines函数读取的时候,python会将这些段落写入一个列表里面。

如果文件中有多个段落,python会用下面的形式来保存文件内容:['段落一…'],['段落二…']….

所以,当我们用python的type函数来判断输出的变量类型时,结果显示,说明这是一个列表类型的变量,后面我们会详细讲解python的变量类型。

最后,要在程序结尾的时候加上f.close语句,意思是关闭文件。

为什么要养成操作完毕后就要关闭文件的习惯呢?因为,如果我们没有关闭文件,计算机内存中会一直保留这个文件的相关数据。

如果你频繁操作或者数据量大的时候,这些程序会吃干你的内存,你会发现机器越来越卡,最后可能会连鼠标都拖不动。

这就是为什么有些新手的电脑会越用越卡,因为大量的后台程序占据了机器的内存空间,手机或移动设备也是一样的道理。

所以,养成关闭程序是一个良好的习惯,完整的代码如下:

f=open('英文文件.txt','r')
nr=f.readlines()
f.close()
print(nr)

好了,现在我们要如何将这些英文单词分割开来,做成一个单词表呢?

f=open('英文文件.txt','r')
nr=f.readlines()
f.close()
for x in nr:
    print(nr)

我们用一个循环语句来读取列表中的内容:

英文工资的单词怎么写_保存英文_工资表英语单词

显然,我们已经成功地将列表中的内容分拣出来了,没有前面的方括号了。

这时,我们发现,每个英文单词之间是一个空格,我们就可以用python的split函数,以空格为标记将这些单词分割出来:

f=open('英文文件.txt','r')
nr=f.readlines()
f.close()
for x in nr:
    print(x.split(' '))

运行后:

英文工资的单词怎么写_保存英文_工资表英语单词

又生成一个新的列表了!怎么办?老规矩,再用一次循环语句来分割它:

f=open('英文文件.txt','r')
nr=f.readlines()
f.close()
for x in nr:    
    for y in x.split(' '):
        print(y)

看看输出结果:

英文工资的单词怎么写_工资表英语单词_保存英文

貌似成功了!简单吧?

Python就是这么简单、豪横!

慢着!有点不对哦。。。

保存英文_工资表英语单词_英文工资的单词怎么写

英文单词后面有一个‘’.‘’,还有一个逗号,怎么办?

print(y.replace('.','').replace(',',''))

修改最后一句代码,搞定!

replace(',','')函数的意思就是告诉python,请把所有的逗号删掉。如果你写replace('e','x'),这个意思就是说,请把所有的字母e换成x,现在明白了吧?

而且可以连写,是不是更加简单、方便?不过,新问题又来了:

英文工资的单词怎么写_工资表英语单词_保存英文

英文单词不应该有数字吧?

是的,我们还要再加工一次项目加盟,将

print(y.replace('.','').replace(',',''))

改成:

y=y.replace('.','').replace(',','').replace('n','').rstrip('0123456789')
print(y)

再次运行后,就删除了所有的数字。

这里还要增加去除其他不需要的字符,如换行符、空格符等保存英文,使用我们修改代码为:这样,我们就得到一个完整的单词表,可是新的问题又来了,重复的单词怎么办?

保存英文_工资表英语单词_英文工资的单词怎么写

我们先将取出的单词写入一个列表:修改代码如下:

f=open('英文文件.txt','r')
nr=f.readlines()
f.close()
word=[] #定义一个列表
for x in nr:
    for y in x.split(' '):
        y=y.replace('.','').replace(',','').replace('n','').rstrip('0123456789')
        word.append(y) #将处理好的单词写入列表
print(word)

再增加一行代码,

word=list(set(word))

这个代码的意思是,将列表word用set()函数转换为集合,因为集合会自动删除重复的元素。

为了使单词排列顺序更美观一些,我们用lower()函数转换为小写字母,再用sort()函数排序,全部代码如下:

f=open('英文文件.txt','r')
nr=f.readlines()
f.close()
word=[]
for x in nr:
    for y in x.split(' '):
        y=y.replace('.','').replace(',','').replace('n','').rstrip('0123456789').lower()
        word.append(y)
word=list(set(word))
word.sort()
print(word)

输出结果如下:

英文工资的单词怎么写_保存英文_工资表英语单词

现在,我们可以将结果写入一个txt文件里保存起来,结尾处加入以下代码:

f2=open('单词表.txt','w')
f2.write('n'.join(word))#将列表转换为字符串,加入换行符写入文件
f2.close()

运行后,发现目录下生成新的文件:单词表.txt

保存英文_工资表英语单词_英文工资的单词怎么写

双击打开:

保存英文_英文工资的单词怎么写_工资表英语单词

这就是我们想要的单词表,当然,有很多技巧使代码更加简洁,我们后面会陆续讲到,本例全部代码如下:

f=open('英文文件.txt','r') #打开文件读取数据
nr=f.readlines() #读取所有的行
f.close() #关闭文件
word=[] #定义一个列表
for x in nr: 
    for y in x.split(' '):
        y=y.replace('.','').replace(',','').replace('n','').rstrip('0123456789').lower() #处理单词中不需要的字符
        word.append(y) #将最终的单词结果写入列表,为后面排序去重作准备
word=list(set(word)) #去重
word.sort() #排序
f2=open('单词表.txt','w') #创建或打开新文件
f2.write('n'.join(word)) #将列表转换为字符串并加入换行符写入文件
f2.close() #关闭文件

寥寥13行代码,就搞定一个分词功能,也有另外一种写法,大家可以自行研究:

import string
f = open('英文文件.txt')
s=f.read()
str1=s.title()
print(str1,'n这里换行')
print("".join([s for s in str1.splitlines(True) if s.strip()]))
list1 = str1.split() # 采用默认分隔符进行分割
#字符串列表去重
l1=list(set(list1))
l1.sort(key=list1.index)
for i in l1:
  #去掉特殊符号
  i1=i.translate(str.maketrans('', '', string.punctuation))
  i2=i1.strip(' tnr')# 去除字符串中头尾的空格
  #print(i1.strip(' tnr')) # 去除字符串中头尾的空格
  if not i2.isnumeric():   #滤除数字
        i3=i2
        f1 = open('单词表.txt','a')
        f1.write('n'+i3)
  f.close
  f1.close

现在,恭喜你,你学会了基础的文件处理,可以用Python帮你解决一些工作中的具体事务了。

知识的点滴是每天的积累,如果你感兴趣,请关注或转发这篇文章。

你学会了吗?

发表回复

您的电子邮箱地址不会被公开。 必填项已用*标注