本着严肃的学习作风,用不严肃的话风写下我的Python入门学习笔记。
这一次笔记内容可能有些零散,之后目测会逐步建立学习体系。适合观看人群请参考以下这趴(sui)介(sui)绍(nian)。
我的基础是这样的
语言只学过VB
大三还是大二的必修课,学分不算低。本专业是服装,作为艺术学院的工科生,我那么艰难三年的数学物理化怎么能白学?是的,我基本白学了。为了证明我还是有理科思维的(并且我当然不会允许自己挂科),使劲学一学。自力更生一段时间后,请教计算机专业的小哥哥给我补了补课。
因为没有实际需求,学完就扔了。沦落至今如我……只能看懂一些很简单的语句。工作中用到的时候,不会写,只会百度到需要的内容以后,根据实际情况再做小修改。嗯真的非常小,非常非常小。嗯,很弱鸡了是我没错。
软件只学过DW
服装专业的我们和这门课老师一样迷……学院的课程安排不合理啊!你们这专业学这门课不是瞎折腾??
我也不懂我为什么学这个,但是我的自尊心不允许我学不会挂科……上完课我就把DW从我的ADOBE全家桶赶出门了!
万万没想到……毕业以后工作我居然用到它?
给一个客户爸爸做电商项目的时候,技术小哥哥开发后端,我在一个不是技术但超聪明到懂一些技术知识的小姐姐的带领下一起搭建部分前端。(p.s.我不知道那东西到底算不算前端,反正技术小哥哥说这不是他该做的后端的部分)
发生在我身上的真人真事(泪)教育我……
某些小事对当下看起来毫无影响,但在未来的某一个时刻说不定就发挥了作用,甚至它让我联想到蝴蝶效应……
请说人话[微笑脸.jpg]
15岁觉得游泳难,放弃游泳,到18岁遇到一个你喜欢的人约你去游泳,你只好说“我不会耶”。18岁觉得英文难,放弃英文,28岁出现一个很棒但要会英文的工作,你只好说“我不会耶”。人生前期越嫌麻烦,越懒得学,后来就越可能错过让你动心的人和事,错过新风景。
——蔡康永
有很少很少的语言知识基础,总体来说是一只弱鸡,一枚很白的小白,是我本人……和接下去看的你?没错?
————我是不可爱的分割线————
为什么想学习python
大学接触数据新闻时知道python,但之后一直没有实际需求。工作中遇到excel处理数据的问题,问百度后也积累了一些小知识。在第一趴提到的「计算机专业的小哥哥」的谆谆教诲下,决定学这门语言。(他现在去中科院潜心学术了,看在他算我半个老师的份上,我要帮助他征对象!)之后文中会称之为「高老师」。
懂计算机知识的技术同学们给我的印象都是好聪明,了解一些语言知识本身也很吸引我。对嘛,好奇心害死猫……(p.s.我说的技术同学指的是技术、产品、和其他我不了解的blabla。不要打我,你们都是棒棒的!)
不是专业需要不求多棒,我的短期目标程度就是先掌握简单的基础,能写和看明白一些基础的。嗯稍微长期一点的小目标就是写一个数据新闻。是的,没想到,又回到了刚知道这门语言时的情景……
————我是不可爱的分割线2号————
用一个实例开始学习啦
高老师给我布置的任务是:
把文本数据按照分隔符导入excel。
这件事情用excel自带的导入外部数据供功能,这次想用python试一试。
以+号为分隔符,将文本的数据分隔成两列,导入excel以下是高老师写的代码:
#-*- coding: utf-8 -*-
import xlwt
fopen = open("/Users/jianshu-hy/Desktop/test/data1.txt", 'r')
lines = fopen.readlines()
file = xlwt.Workbook(encoding='utf-8', style_compression=0)
sheet = file.add_sheet('data')
i = 0
for line in lines:
linefields = []
linefields = line.split('+')
j = 0
for linefield in linefields:
sheet.write(i, j, linefield)
j += 1
i = i + 1
file.save('/Users/jianshu-hy/Desktop/data2.xls')
文章最后我会按我的理解对这段代码加上注释~
- 准备两个纯文本格式的文本文件
- 后缀(.txt),写入数据,我命名它为data1.txt
- 后缀(.py),写入代码,我命名它为test.py
这两个文件我都存在名为test的文件夹,文件夹存放在桌面。接下来,打开终端开工啦。
- 如何查看文件路径
Hugo-ZoomRoom:~ jianshu-hy$ cd desktop
Hugo-ZoomRoom:desktop jianshu-hy$ cd test
Hugo-ZoomRoom:test jianshu-hy$ pwd
/Users/jianshu-hy/desktop/test
- cd切换目录
打开终端shell的时候,默认是在当前用户根目录。每输入一次cd,切换到下一层目录进行之后输入的操作。 - pwd查看路径
指当下cd切换进入的目录的路径。不用cd直接键入pwd,查看到的是根目录的路径。
- 运行前面准备的python文件test.py
Hugo-ZoomRoom:~ jianshu-hy$ python test.py
Trackback (most recent call last):
File "test.py", line 4, in <module>
import xlwt
ImportError: No module named xlwt
哇我第一步import xlwt
就报错:缺少语言包。
xlwt
作用是写入excel,对应xlrd
是读取excel。
- 把包装起来
pip
是Python包的管家,键入pip install xlwt
装包。最后显示Successfully installed xlwt-1.3.0
就是装成功了。查看装了哪些则键入pip list
。
现在按上文提到的操作,运行test.py文件。桌面上出现我要的表格啦。
——我是比2号分割线可爱的3号——
回顾总结
再读一遍高老师的代码,就目前能够理解到的部分加上注释。
#-*- coding: utf-8 -*-
#选编码格式
import xlwt
#载入写入excel的功能
fopen = open("/Users/jianshu-hy/Desktop/test/data1.txt", 'r')
#打开文件,在英文的双引号内填入文件实际的路径
#单引号里的r指读取文件
lines = fopen.readlines()
#readlines按行读取内容
file = xlwt.Workbook(encoding='utf-8', style_compression=0)
sheet = file.add_sheet('data')
#在excel命名一个叫data的工作表
i = 0
for line in lines:
linefields = []
linefields = line.split('+')
#用+号为分隔符,准备分隔这一行的数据
j = 0
#把按+号分隔出来的每一小段分别视为一列
for linefield in linefields:
sheet.write(i, j, linefield)
#在excel的第0行第0列写入文本中第0行第0列分隔出的数据
j += 1
#在文本中按+号划分出列,并写入excel的下一列,循环
i = i + 1
#在文本中进行下一行的分隔操作,循环
file.save('/Users/jianshu-hy/Desktop/data2.xls')
#文件存储到指定路径,路径填入英文单引号内
我的心愿是会有第二篇,不要轻易断更……
内容如有不善之处,欢迎指教~
End/Tins
世界有趣 要肤浅开心
网友评论