文章详情

短信预约-IT技能 免费直播动态提醒

请输入下面的图形验证码

提交验证

短信预约提醒成功

零基础学习Python文本处理

2023-01-31 02:46

关注

源 | 小象     文 | 贾庸

本文将带领小伙伴们一起,使用Python进行文本处理,先来看下要处理的文本, 文件名为“data.txt”, 文件里面的内容是三行中英对照的文本,和两个空行,

我们要实现的功能就是从这三行文本中分别抽取出中文及其对应的英文,这个功能再加上爬虫,就可以制作自己专属的英语词典了,是不是很酷, 又很实

用,还等什么,赶紧上代码

1.jpg

本文要照顾到零基础的童鞋,所以要从最简单的building block 开始,先运行代码看效果

2.jpg


貌似仅仅是打印出了文本中的内容,您说对啦,就是这么简单,我们追求的效果就是万事开头简单,中间简单,结尾简单:)

虽然只有两行代码,但是对于真正零基础的童鞋,恐怕只能明白print的意思了:)

所以要逐字解释下, 首先是 open(“data.txt”),这是在告诉python,打开名为“data.txt”的 文件;打开后干什么呢?通过 for 逐行读取文件里面的内容,有的童鞋可能第 一次接触这种语法,感觉不理解,这个没关系,其实不是不理解, 而是新知识需要适应,多敲几遍代码就,每天敲一遍,不出一个星期,就会

觉得异常亲切了,不信可以试下,每天花3分钟的时间, 一个星期一共21分钟,真的有效哦。

然后就是print了,line表示的是每次读取得到的那一行内容,包括空行也算哦,print(line),就是把读取到的内容打印出来。

前面的3个知识点掌握后,童鞋们就已经是入门啦!然后就是V2,还是先看效果

3.png

有的童鞋会不禁大喊:乱码了!亲,莫慌张,这些方括号不是乱码,是语法。在Python中, 一对方括号[]表示的是一个list,对,list是论个卖的,哦,不是卖,是使用:)

 一个list可以是空的, 比如上图中就有两个是空list,也可以是包含多个元素, 比如上图中的另外3个list,每个list中包含了3个元素,在这个案例中每个元素是一个string, 用一对单引号表示string的开始和结束,有童鞋会问双引号可以吗,这个可以有:)

在同一个list中,元素与元素之间以逗号间隔。

输出的结果我们已经搞懂了,下一步就要看源码了

4.png

V2版中增加了一行,new_line,是对line进 行了两个操作(也可以理解为对line进 行了两道加 工)后得到的,也就是我们前面看到的包含了元素的list。

那么对line进行了什么操作呢?

为了说明对line进行的加 工,我们要定义一组变量,分别是空string(变量名为emptyString), 一个字符(strA),一个字符后缀一个空格(strAWithTrailingWhitespace),对这个后缀空格的string进 行rstrip()操作后得到的string(strArstriped)。是不是有点像绕口令,请不要跳过,如果临时跳过了,请再回来仔细读一遍哈,其实y就是为了体验rstrip()的功能:)

我们一个一个来看下, 首先是空string

5.png

所谓空string,就是这个string不包含任何字符,所以 长度(也就是len(emptyString))为0,print这个空string当然什么都看不到,为了让 大家能看到效果,在print的时候 又加上了一个“.”

6.png

然后是包含一个字符的string(变量名为strA),所以长度(也就是len(strA))为1,然后是print这个string再加 一个“.”

有了前面的铺垫,敲黑板的知识要来了!下 面我们要定义的这个变量是一个字符后缀(Trailing)一个空格

(Whitespace)变量名充分体现了这 一点:),所以长度为2,请注意print时,“a”与“.”之间有明显的 一个空格, 而且是可以用鼠标选中的哦


7.png

本小节最后一个变量名是strArstriped,即,对strAWithTrailingWhitespace变量进 行去后缀空格的操作得到的新变量,所以长度 又变回了1,请注意print时,“a”与“.”之间的那个空格被rstrip掉了

8.png

为了方便童鞋们理解, 用两个list分别存储未经过rstrip的原始文本,和处理后的文本,对照效果如下图所示

9.jpg

然后是split() 方法,作用就是split,将一行文本分成几个小段,默认的分隔符(delimiter)是空格(whitespace),并且会将空串从结果中删掉。效果如下

10.png

最后是最终版,listE存储英语,listC存储对应的中文

11.jpg

-END-

版权声明:本文为小象原创文章,转载请联系后台。


阅读原文内容投诉

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

软考中级精品资料免费领

  • 历年真题答案解析
  • 备考技巧名师总结
  • 高频考点精准押题
  • 2024年上半年信息系统项目管理师第二批次真题及答案解析(完整版)

    难度     813人已做
    查看
  • 【考后总结】2024年5月26日信息系统项目管理师第2批次考情分析

    难度     354人已做
    查看
  • 【考后总结】2024年5月25日信息系统项目管理师第1批次考情分析

    难度     318人已做
    查看
  • 2024年上半年软考高项第一、二批次真题考点汇总(完整版)

    难度     435人已做
    查看
  • 2024年上半年系统架构设计师考试综合知识真题

    难度     224人已做
    查看

相关文章

发现更多好内容

猜你喜欢

AI推送时光机
位置:首页-资讯-后端开发
咦!没有更多了?去看看其它编程学习网 内容吧
首页课程
资料下载
问答资讯