7.1文件的使用

1.1文本类型

文本文件:由单一特定编码组成的文件,如.txt

二进制文件:如.png,.avi

1.2文件的打开和关闭

打开-操作-关闭

<变量名> = open(<文件名和路径>,<打开模式>)

打开模式:'r' 只读模式,默认值,如果文件不存在,返回FileNotFoundError

'w' 覆盖写模式,文件不存在则创建,存在则完全覆盖

'x' 创建写模式,文件不存在则创建,存在则FileExistsError

'a'追加写模式,文件不存在则创建,存在则在文件最后追加内容

'b'二进制文件模式

't'文本文件模式,默认值

'+' 与r/w/x/a一同使用,增加读写功能

<变量名>.close()

1.3文件内容的读取

<f>.read(size=) 读入全部内容,如果给出参数,读入前size长度

<f>.readline(size=) 读入一行内容,如果给出参数,读入该行前size长度s

<f>.readlines(hint=) 读入文件所有行,以每行为元素列表,如果给出参数,读入该行前hint行

1.4数据的文件写入

<f>.write(s) 文件写入一个字符串或字节流

<f>.writelines(lines) 将一个元素全为字符串的列表写入文件

<f>.seek(offset) 改变当前文件操作指针的位置,offset:0-文件开头,1-当前位置,2-文件结尾

7.2自动轨迹绘制实例

#AutoTraceDraw.py
import turtle as t
t.title('自动轨迹绘制')
t.setup(800,600,0,0)
t.pencolor("red")
t.pensize(5)
#数据读取
datals =[]
f = open("data.txt")
for line in f:
line = line.replace("\n","")
datals.append(list(map(eval,line.split(","))))
f.close()
#自动绘制
for i in range(len(datals)):
t.pencolor(datals[i][3],datals[i][4],datals[i][5]) #RGB颜色
t.fd(datals[i][0])
if datals[i][1]:
t.right(datals[i][2])
else:
t.left(datals[i][2])

7.3一维数据的格式化和处理

数据组织的维度

操作周期:存储格式、表示数据类型、操作

一维数据的表示:有序-列表,for循环遍历;无序-集合,for循环遍历;

存储:空格分隔,不换行;逗号分隔,不换行;特殊符号

处理:

f.write(' '.join(ls))#把空格放置在每个元素之间

7.4二维数据的格式化和处理

二维数据的表示:二维列表;

CSV数据存储格式:

二维数据的存储

二维数据的处理:

ls = [[],[],[]]
f = open("1806.csv",'w')
for item in ls:
f.write(','.join(item)+"\n")
f.close()

7.5Wordcloud库

w = wordcloud.WordCloud()

w.generate(txt) 向WordCloud对象w中加载文本txt

w.to_file(filename)将词云输出为图像文件,.png或.jpg格式

width:默认400

height:默认200

min_font_size:指定词云中字体最小号,默认4号

max_font_size:。。。。。。。最大号,根据高度自动调节

eg: w = wordcloud.WordCloud(min_font_size=20)

font_step 指定词云中字体字号的步进间隔,默认为1

font_path :指定字体文件的路径,默认None

max_words :指定词云显示的最大单词量,默认200

stop_words:指定词云的排除词列表,即不显示的单词列表

mask:

from scipy.misc import imread
mk = imread("pic.png")
w = wordcloudWordCloud(mask=mk)

background_color:指定词云的背景颜色,默认为黑色

import wordcloud
txt = "life is short,you need python"
w = wordcloud.WordCloud(\
background_color = "white")
w.generate(txt)
w.to_file("pywcloud.png")
import jieba
import wordcloud
txt = "这个问题困扰了我一年。我一直不敢和他提。\
甚至有时候我会很难受,不行我就辞职吧。\
虽然工作不错、公司不错,但是这个吸二手烟是硬伤啊!\
看吧,这就是我原来的思维。因为不敢提这件事情,甚至想到用辞职去解决。\
进行了心灵强大的刻意练习之后,我在他一次开会抽烟的时候,发了微信,和善而坚定,告诉他不要在我面前吸烟了,电子烟可以。\
结果他爽快的答应了。之后再也没犯过。"
w = wordcloud.WordCloud(width = 1000,font_path="msyh.ttc",height = 700)
w.generate(" ".join(jieba.lcut(txt)))
w.to_file("pycloudcloud.png")

7.6“政府工作报告”词云实例

step1:读取文件、分词整理

step2:设置并输出词云

step3:观察结果,优化迭代

#CovRptWordCloudv1.py
import jieba
import wordcloud
f = open("关于实施乡村振兴战略的意见1.txt","r",encoding="utf-8")#gb2312
t = f.read()
f.close()
ls = jieba.lcut(t)
txt = " ".join(ls)
w = wordcloud.WordCloud(font_path="msyh.ttc",width=1000,height=700,\
background_color="white",max_words = 15)
w.generate(txt)
w.to_file("grwordcloud.png")

Python第七章(北理国家精品课 嵩天等)的更多相关文章

  1. Python第八章(北理国家精品课 嵩天等)

    程序设计方法 8.1体育竞技分析实例 from random import random def printIntro(): print("这个程序模拟两个选手A和B的某种竞技比赛" ...

  2. Python第六章(北理国家精品课 嵩天等)

    一 1.集合类型定义及其操作: 集合用{}表示,元素用逗号分隔,无序,唯一 集合操作符: |:并 -:减 &:交 ^ :补 <= <:判断子集关系 >= >:判断包含关 ...

  3. Python第四章(北理国家精品课 嵩天等)

    一.程序的分支结构 二.身体质量指数BMI #CalBIv1.py height,weight = eval((input("请输入身高(米)和体重\(公斤)[逗号隔开]:"))) ...

  4. Python第二章(北理国家精品课 嵩天等)

    一.深入理解Python语言 语法简洁 >13万第三方库 二.Python蟒蛇绘制 #PythonDraw.py import turtle turtle.setup(650,350,200,2 ...

  5. Python第五章(北理国家精品课 嵩天等)

    函数和代码复用 函数的定义和使用 def <函数名>(<参数(0个或多个)>): <函数体> return <返回值>可选参数放在不可选参数之后*b不定 ...

  6. Python第三章(北理国家精品课 嵩天等)

    一.数字类型及其操作 整数:pow(x,y),想算多大,就算多大:以0b或0B开头表示二进制:以0o或0O开头表示八进制:以0x或0X开头表示十六进制. 浮点数:取值范围-10^308至10^308, ...

  7. Python第一章(北理国家精品课 嵩天等)

    1.1程序设计基本方法 IPO 分析问题,划分边界,设计算法: 编写程序,调试测试,升级维护. 1.2Python开发环境配置 1.3实例1:温度转换 1.4Python程序语法元素分析 缩进,#添加 ...

  8. 简学Python第七章__class面向对象高级用法与反射

    Python第七章__class面向对象高级用法与反射 欢迎加入Linux_Python学习群  群号:478616847 目录: Python中关于oop的常用术语 类的特殊方法 元类 反射 一.P ...

  9. <automate the boring stuff with python>---第七章 正则实例&正则贪心&匹配电话号码和邮箱

    第七章先通过字符串查找电话号码,比较了是否使用正则表达式程序的差异,明显正则写法更为简洁.易扩展.模式:3 个数字,一个短横线,3个数字,一个短横线,再是4 个数字.例如:415-555-4242 i ...

随机推荐

  1. zoj3223

    其实这题不超时完全是因为串长度太小,如果串够长,一次匹配后都要往上跳,复杂度是n^2的. #include <iostream> #include <cstdio> #incl ...

  2. 弹筐里同一个按钮判断是从哪里点击过来的form

    点击弹框按钮 <form action="javascript:;" method="post">         <button type= ...

  3. JSON的新方法--parse()和stringify()

    // eval 可以解析任何字符串变成js var str = 'function show() {console.log(1)}'; eval(str); show(); // parse 只能解析 ...

  4. 蓝桥杯第九届省赛 sscanf(),str.c_str()函数的使用

    标题:航班时间 [问题背景]小h前往美国参加了蓝桥杯国际赛.小h的女朋友发现小h上午十点出发,上午十二点到达美国,于是感叹到“现在飞机飞得真快,两小时就能到美国了”. 小h对超音速飞行感到十分恐惧.仔 ...

  5. 基于gensim的LDA主题模型实现 一键式函数打包

    def genlda(textlist,n): ticks = str(time.time()).replace('.','')[-6:-1] nn=str(n) dictionary = corpo ...

  6. jq里验证插件的自定义方法Jquery.validator.addMethod()示例

    最近写验证的时候感觉原生的验证谢了一遍又一遍,就想到了“不要重复造轮子,学会管理自己的工具库”这句名言,于是尝试用jq的validator. 用过又发现需要自定义方法去验证,于是去查官网,写了Jque ...

  7. sql数据表中的值重新命名

    select u.id,u.name,u.sex, 2 (case u.sex 3 when 1 then '男' 4 when 2 then '女' 5 else '空的' 6 end 7 )性别 ...

  8. [luogu P3960] [noip2017 d2t3] 队列

    [luogu P3960] [noip2017 d2t3] 队列 题目描述 Sylvia 是一个热爱学习的女♂孩子. 前段时间,Sylvia 参加了学校的军训.众所周知,军训的时候需要站方阵. Syl ...

  9. 电磁波、无线电、802、WLAN及WiFi的区别与联系

    一.电磁波.无线电.WLAN和WiFi的关系 电磁波 > 无线电 [+ 可见光] > WLAN [+ 电话 ]> WiFi [+蓝牙] 参考:https://zh.wikipedia ...

  10. 【重磅】Spring Boot 2.0权威发布

    新版本特性 新版本值得关注的亮点有哪些: 基于 Java 8,支持 Java 9 也就是说Spring Boot2.0的最低版本要求为JDK8,据了解国内大部分的互联网公司系统都还跑在JDK1.6/7 ...