Python第七章(北理国家精品课 嵩天等)
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第七章(北理国家精品课 嵩天等)的更多相关文章
- Python第八章(北理国家精品课 嵩天等)
程序设计方法 8.1体育竞技分析实例 from random import random def printIntro(): print("这个程序模拟两个选手A和B的某种竞技比赛" ...
- Python第六章(北理国家精品课 嵩天等)
一 1.集合类型定义及其操作: 集合用{}表示,元素用逗号分隔,无序,唯一 集合操作符: |:并 -:减 &:交 ^ :补 <= <:判断子集关系 >= >:判断包含关 ...
- Python第四章(北理国家精品课 嵩天等)
一.程序的分支结构 二.身体质量指数BMI #CalBIv1.py height,weight = eval((input("请输入身高(米)和体重\(公斤)[逗号隔开]:"))) ...
- Python第二章(北理国家精品课 嵩天等)
一.深入理解Python语言 语法简洁 >13万第三方库 二.Python蟒蛇绘制 #PythonDraw.py import turtle turtle.setup(650,350,200,2 ...
- Python第五章(北理国家精品课 嵩天等)
函数和代码复用 函数的定义和使用 def <函数名>(<参数(0个或多个)>): <函数体> return <返回值>可选参数放在不可选参数之后*b不定 ...
- Python第三章(北理国家精品课 嵩天等)
一.数字类型及其操作 整数:pow(x,y),想算多大,就算多大:以0b或0B开头表示二进制:以0o或0O开头表示八进制:以0x或0X开头表示十六进制. 浮点数:取值范围-10^308至10^308, ...
- Python第一章(北理国家精品课 嵩天等)
1.1程序设计基本方法 IPO 分析问题,划分边界,设计算法: 编写程序,调试测试,升级维护. 1.2Python开发环境配置 1.3实例1:温度转换 1.4Python程序语法元素分析 缩进,#添加 ...
- 简学Python第七章__class面向对象高级用法与反射
Python第七章__class面向对象高级用法与反射 欢迎加入Linux_Python学习群 群号:478616847 目录: Python中关于oop的常用术语 类的特殊方法 元类 反射 一.P ...
- <automate the boring stuff with python>---第七章 正则实例&正则贪心&匹配电话号码和邮箱
第七章先通过字符串查找电话号码,比较了是否使用正则表达式程序的差异,明显正则写法更为简洁.易扩展.模式:3 个数字,一个短横线,3个数字,一个短横线,再是4 个数字.例如:415-555-4242 i ...
随机推荐
- grep 从文件内容中查找
grep -rin [查找目标] [查找范围] 例子:在当前目录下的文件内查找test字符串 grep -rin test ./
- python 学习笔记 5 ----> dive into python 3
字符串 文本:屏幕上显示的字符或者其他的记号 计算机认识的东西:位(bit)和字节(byte) 文本的本质:某种字符编码方式保存的内容. 字符编码:一种映射(显示的内容 ----> 内存.磁盘 ...
- Lab 11-2
Analyze the malware found in Lab11-02.dll. Assume that a suspicious file named Lab11-02.ini was also ...
- linux mkdir命令
1 mkdir,创建一个空目录. 比如:mkdir test 2 mkdir -p,递归创建目录. 比如:mkdir -p a/b.迭代创建. 3 mkdir -m 777 d 创建权限为777的目录 ...
- BootStrap 学习笔记一
1.bootstrap列偏移 列偏移是指在网格系统中,可以使用偏移列来达到让某列右移的效果,只需要在class的“col-*-*”后追加“col-*-offset-*” <div class=& ...
- nodemanager 无法启动报错“doesn't satisfy minimum allocations”
在启动nodemanager节点nodemanager时候报错 2019-03-29 14:15:44,648 INFO org.apache.hadoop.yarn.server.nodemanag ...
- mac系统 安装pip,用python读写excel(xlrd、xlwt)安装
1: 先安装python, 下载地址:https://www.python.org/downloads/release/python-372/ 2: 安装pip 下载一个get-pip.py的文件 ...
- python----数据驱动@ddt.file_data结合yaml文件的使用
一.创建yaml文件1. 安装yaml模块 pip install pyyaml2. 新建yaml文件 右键任意文件夹-->New-->File,输入文件名并以.yaml或.yml结尾 二 ...
- C# 异步(上)
新进阶的程序员可能对async.await用得比较多,却对之前的异步了解甚少.本人就是此类,因此打算回顾学习下异步的进化史. 本文主要是回顾async异步模式之前的异步,下篇文章再来重点分析async ...
- KiB 、十进制单位转换 、二进制单位转换
KiB是kilo binary byte的缩写,指的是千位二进制字节 KB是kilobyte的缩写,指的是千字节 二进制标准命名 十进制国际单位制SI标准: 1 KB= 1,000 Byte ...