python(Mooc)--文件和数据格式化

一.文件的使用

1.1 文件的类型

  • 文本文件
  • 二进制文件

1.2 文件的打开和关闭

1.2.1 打开文件的代码

<变量名> = open(<文件名>,<打开模式>)
  1. 文件名:直接写文件路径,但是python中规定"\"是转义字符,所以一般用/ 或者\\来表示,比如"D:/PYE/f.text"或者"D:\\PYE\\f.text"
  2. 相对路径:如果当前文件在D盘根目录下,可以直接写成"./PYE/f.text"。如果当前程序与当前文件在相同目录,可以直接写成"f.text"

1.2.2 打开文件的模式

在这里插入图片描述
举例:

在这里插入图片描述

1.2.3 关闭文件的代码

<变量名>.close()
//每次使用完文件应该关闭

1.3 文件内容的读取

1.3.1 三种文件内容的读取方法

以下描述都是基于文件内容是中国是个伟大的国家
在这里插入图片描述在这里插入图片描述

1.3.2 文件的全文本操作

  • 遍历全文本:方法一
fname = input("请输入要打开的文件路径")
fo = open(fname,"r")
txt = fo.read()  //一次读入,统一处理
#处理操作
fo.close()
  • 遍历全文本:方法二
fname = input("请输入要打开的文件路径")
fo = open(fname,"r")
txt = fo.read(2)  //按数量读入,逐步处理
while txt != " ":
	#处理操作
	txt = fo.read(2)
fo.close()
  • 逐行遍历文件:方法一
fname = input("请输入要打开的文件路径:")
fo = open(fname,"r")
for line in fo.readlines():  //一次读入,分行处理
	print(line)
fo.close()
  • 逐行遍历文件:方法二
fname = input("请输入要打开的文件路径:")
fo = open(fname,"r")
for line in fo:    //分行读入,分行处理
	print(line)
fo.close()

1.4 数据的文件写入

在这里插入图片描述
在这里插入图片描述
举例:

fo = open("output.text","w+")
ls = ["中国","法国","美国"]
fo.writelines(ls)
for line in fo:
	print(line)
fo.clone()
>>>(没有任何输出)
fo = open("output.text","w+")
ls = ["中国","法国","美国"]
fo.seek(0)
fo.writelines(ls)
for line in fo:
	print(line)
fo.clone()
>>>中国法国美国

二.实例:自动轨迹绘制

2.1 问题分析

  • 需求:根据脚本来绘制图形
  • 不是写代码而是写数据绘制轨迹
  • 数据脚本是自动化最重要的一步

2.2 代码

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])
    t.fd(datals[i][0])
    if datals[i][1]:
        t.rt(datals[i][2])
    else:
        t.lt(datals[i][2])

2.3 运行效果

在这里插入图片描述

三.一维数据的格式化和处理

3.1 数据组织的维度

  • 一维数据:对应列表,数据,集合
  • 二维数据:对应表格
  • 多维数据:由一维或二维数据上在新维度上扩展形成

3.2 一维数据的表示

在这里插入图片描述

3.3 一维数据的存储

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

3.4 一维数据的处理

3.4.1 读入处理

在这里插入图片描述
在这里插入图片描述

3.4.2 写入处理

在这里插入图片描述
在这里插入图片描述

四.二维数据的格式化和处理

4.1 二维数据的表示

  • 二维列表表示
  • 使用两层for循环遍历元素
  • 外层列表中每个元素可以对应一行,也可以对应一列
    在这里插入图片描述

4.2 CSV数据存储格式

  • CSV:conma-separated Values,指的是由逗号分隔的值
  • 国际通用的一二维数据存储格式,一般.csv扩展名
  • 每行一个一维数据,用逗号分隔,无空行
  • Excel和一般编辑软件都可以读入或另存为csv文件
  • 如果某个元素缺失,逗号仍要保留
  • 二维数据的表头可以作为数据存储,也可以另行存储
  • 逗号为英文半角逗号,逗号与数据之间无额外空格
    在这里插入图片描述

4.3 二维数据的存储

  • 一般的索引习惯:ls[行,列],先行后列,一般外层列表每个元素是一行,所以按行存

4.4 二维数据的处理

  • 从CSV格式文件中读入数据
fo = open(fname)
ls = []
for line in fo:
	line = line.replace("\n","")//将最后的换行符换成空字符
	ls.append(line.split(","))
fo.close
  • 将数据写入CSV格式的文件
ls = [[],[],[]] #二维列表
f = open(fname,'w')
for item in ls:
	f.write(','.join(item)+'\n')
f.close	
  • 二维数据的逐一处理(二层循环)
ls = [[1,2],[3,4],[5,6]] #二维列表
for row in ls:
	for column in row:
		print(column)

五.wordcloud库的使用

5.1 安装

  • 安装pip install wordcloud
  • wordcloud.WordCloud()代表一个文本对应的词云
  • 可以根据文本中词语出现的频率等参数绘制词云
  • 绘制词云的形状,尺寸和颜色都可以设定

5.2 常规方法

w = wordcloud.WordCloud()
  1. 以WordCloud对象为基础
  2. 配置参数,加载文本,输出文件

在这里插入图片描述

5.3 词云绘制的步骤介绍

(1)基本步骤:

  1. 配置对象参数
  2. 加载词云文本
  3. 输出词云文件

(2)实例

import wordcloud
c = wordcloud.WordCloud()
c.generate("wordcloud by Python")
c.to_file("pywordcloud.png")

在这里插入图片描述

5.4 配置对象参数

w = wordcloud.WordCloud(参数)

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

5.5 实例

import wordcloud
txt = "life is short,you need python"
w = wordcloud.WordCloud(background_color = "white")
w.generate(txt)
w.to_file("pywcloud.png")

在这里插入图片描述

六.政府工作报告词云

两篇文章的地址

https://python123.io/resources/pye/新时代中国特色社会主义.txt
https://python123.io/resources/pye/关于实施乡村振兴战略的意见.txt
#GovRptWordCloudv1.py
import jieba
import wordcloud
f = open("新时代中国特色社会主义.txt", "r", encoding="utf-8")
 
t = f.read()
f.close()
ls = jieba.lcut(t)
 
txt = " ".join(ls)
w = wordcloud.WordCloud( \
    width = 1000, height = 700,\
    background_color = "white",
    font_path = "msyh.ttc"    
    )
w.generate(txt)
w.to_file("grwordcloud.png")

在这里插入图片描述

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章