轻轻松松学会Python入门九:文件和数据格式化

目录

文件的使用

一,文件的类型

1,文件是数据的抽象和集合

2,文件的理解:

3,文件是数据的抽象和集合:

 二,文件的打开和关闭:

1,文件的打开:

 2,文件的打开模式:

 三,文件内容的读取

 四,文件的全文本操作:

1,遍历全文本:

2,逐行遍历文件:

五,数据文件的写入:

六,实例11,自动轨迹绘制:

一维数据的格式化和处理

 一,数据组织的维度

1,一维数据:

2,二维数据:

3,多维数据:

4,高维数据:

二,数据的操作周期

 三,一维数据的表示

1,如果数据间有序:使用列表类型

2,如果数据间无序:使用集合类型

四,一维数据的存储

1,空格分隔:

2,逗号分隔:

3,其他方式:

五,一维数据的处理

1,一维数据的读入处理:

 2,一维数据的写入处理:

二维数据的格式化和处理

 一,二维数据的表示

1,使用列表类型:

2,一二维数据的Python表示:

 二,CSV格式与二维数据存储

1,CSV数据存储格式:

2,二维数据的存储:

3,二维数据的处理:

wordcloud库的使用

一,wordcloud库的基本介绍

 1,wordcloud库基本使用:

2,wordcloud库常规方法:

3,配置对象参数:

实例12,政府工作报告词云

文件的使用

一,文件的类型

1,文件是数据的抽象和集合


文件是存储在辅助存储器上的数据序列
文件是数据存储的一种形式
文件展现形态:文本文件和二进制文件

2,文件的理解:

- 文件文件和二进制文件只是文件的展示方式
- 本质上,所有文件都是二进制形式存储
- 形式上,所有文件采用两种方式展示

3,文件是数据的抽象和集合:

 -由单一特定编码组成的文件,如UTF-8编码
-由于存在编码,也被看成是存储着的长字符串
-适用于例如: .txt文件、 .py文件等

1)二进制文件:

- 直接由比特0和1组成,没有统一字符编码
- 一般存在二进制0和1的组织结构,即文件格式
- 适用于例如: .png文件、 .avi文件等

 

 二,文件的打开和关闭:

文件处理的步骤:打开-操作-关闭
 

 a. read(size)
a. readline(size)
a. readlines (hint)
a. write(s)
a . writelines ( lines )
a. seek( offset)

1,文件的打开:

 

 2,文件的打开模式:

 

 三,文件内容的读取

 

 四,文件的全文本操作:

1,遍历全文本:

fname = input( "请输入要打开的文件名称:")
fo = open(fname,"r")
txt = fo. read()
#对全文txt进行处理
#一次读入,统一处理
fo.close( )
fname = input( "请输入要打开的文件名称:")
fo = open(fname,"r" )
txt =fo. read(2)
while txt !="":
#对txt进行处理
#按数量读入,逐步处理
    txt = fo. read(2)
    fo. close( )

2,逐行遍历文件:

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( )

五,数据文件的写入:

 

fo = open( "output.txt" , "W+")
ls = ["中国", "法国","美国"]
fo . writelines(ls)|
for line in fo:    #写入一个字符串列表
    print(line )
fo. close()
>>> (没有任何输出)
fo = open( " output.txt" , "w+" )
ls = ["中国","法国","美国"]
fo . writelines(ls)
fo. seek(0)
for line in  fo:    #写入一个字符串列表
    print (line)
fo. close()
>>>中国法国美国

六,实例11,自动轨迹绘制:

 

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.right(datals[i][2])
    else:
        t.left(datals[i][2])
t.done()

一维数据的格式化和处理

 一,数据组织的维度

一个数据表达一个含义

一组数据表达一个或多个含义

维度就是一组数据的组织形式

1,一维数据:

由对等关系的有序或无序数据构成,采用线性方式组织
对应列表,数组,集合等概念

2,二维数据:

由多个一维数据构成,是一维数据的组合形式
 

表格是典型的二维数据,其中,表头是二维数据的一部分。

3,多维数据:

由一维或二维数据在新维度上扩展形成。

其实在某种程度上来讲,维度也可以看作数据的特征,有几个特征就叫做几维。

4,高维数据:

仅利用最基本的二元关系展示数据间的复杂结构。

(字典)

二,数据的操作周期

存储<->表示<->操作
 

 三,一维数据的表示

1,如果数据间有序:使用列表类型

ls = [3.1398, 3.1349, 3.1376]

- 列表类型可以表达一维有序数据
- for循环可以遍历数据,进而对每个数据进行处理

2,如果数据间无序:使用集合类型


st = {3.1398, 3.1349, 3.1376}
- 集合类型可以表达一维无序数据
- for循环可以遍历数据,进而对每个数据进行处理

四,一维数据的存储

1,空格分隔:

-使用一个或多个空格分隔进行存储,不换行
-缺点:数据中不能存在空格
 

2,逗号分隔:

-使用英文半角逗号分隔数据进行存储,不换行
-缺点:数据中不能有英文逗号
 

3,其他方式:

- 使用其他符号或符号组合分隔,建议采用特殊符号
- 缺点:需要根据数据特点定义,通用性较差

五,一维数据的处理

1,一维数据的读入处理:

1)从空格分隔的文件中读入数据

2)从特殊符号分隔的文件中读入数据

 2,一维数据的写入处理:

采用空格分隔方式将数据写入文件

 采用特殊分隔方式将数据写入文件

二维数据的格式化和处理

 一,二维数据的表示

1,使用列表类型:

. 列表类型可以表达二维数据
. 使用二维列表

- 使用两层for循环遍历每个元素
- 外层列表中每个元素可以对应一行,也可以对应一列

2,一二维数据的Python表示:

 二,CSV格式与二维数据存储

1,CSV数据存储格式:

CSV: Comma-Separated Values
- 国际通用的一二维数据存储格式,一般.csv扩 展名
- 每行一个一维数据,采用逗号分隔,无空行
- Excel和一般编辑软件都可以读入或另存为csv文件

-  如果某个元素缺失,逗号仍要保留
- 二维数据的表头可以作为数据存储,也可以另行存储
- 逗号为英文半角逗号,逗号与数据之间无额外空格

2,二维数据的存储:

- 按行存或者按列存都可以,具体由程序决定
- 一般索引习惯: Is[row][column], 先行后列
- 根据一般习惯,外层列表每个元素是一行,按行存

3,二维数据的处理:

1)从CSV格式的文件中读入数据:

fo = open( fname)
ls =[]
for line in fo:
    line = line . replace("\n","")
    ls .append(line .split(","))
fo. close( )

2)将数据写入CSV格式的文件:

ls=[[],[],[]]#维列表
f = open(fname,' w' )
for item in ls:
    f .write(' , ' .join(item) + '\n' )
f .close( )

3)二维数据的逐一处理:

采用二层循环

1s = [[1,2], [3,4],[5,6]] #二维列表
for row in ls:
    for column in row:
        print( column)

wordcloud库的使用

一,wordcloud库的基本介绍

wordcloud是优秀的词云展示第三方库
词云以词语为基本单位,更加直观和艺术地展示文本
 

 1,wordcloud库基本使用:

wordcloud库把词云当作一个WordCloud对象
- wordcloud.WordCloud()代表一个文本对应的词云
- 可以根据文本中词语出现的频率等参数绘制词云
- 词云的绘制形状、尺寸和颜色都可以设定

2,wordcloud库常规方法:

 

 

3,配置对象参数:

w = wordcloud.WordCloud(<参数>)

 

 

import wordcloud
txt = "life is short, you need python"
W = wordc loud . 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.1cut(txt)))
W. to_file(" pywcloud. png" ) 
#中文需要先分词并组成空格分隔字符串

实例12,政府工作报告词云:

#GovRptWordC1oudv1. py
import jieba
import wordcloud
f = open("新时代中国特色社会主义.txt","r", encoding="utf-8")
t = f.read( )
f.close( )
1s = jieba. 1cut(t)
txt =" ".join(1s)
W = wordcloud . WordCloud (font_ path = "msyh.ttc",\
    width = 1000, height = 700,background_ color = "white", \
    )
W. generate(txt)
w.to_ file(" grwordcloud. png" )

 

#GovRptWordCloudv1. py
import jieba
import wordcloud
f = open("关于实施乡村振兴战略的意见. txt","r", encoding= "utf-8")
t = f.read( )
f.close( )
1s = jieba. 1cut(t)
txt = " ".join(ls)
W = wordcloud. WordCloud (font_ path = "msyh.ttc",\
    width= 1000, height = 700, background_ color ="white", \
    )
W. generate (txt)
W. to_file(" grwordcloud. png")

#GovRptWordC1oudv1. py
import jieba
import wordcloud
f = open( "新时代中国特色社会主义.txt", "r", encoding= "utf-8")
t = f.read( )
f .close()
1s = jieba.1cut(t)
txt =” " .join(1s)
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")

#GovRptWordC1oudv1. py
import jieba
import wordcloud
f = open("关于实施乡村振兴战略的意见. txt","r", encoding= "utf-8")
t = f.read( )
f.close( )
1s = jieba.1cut(t)
txt = " ".join(ls)
W = wordc loud . WordCloud (font_ path =" msyh.ttc",\
    width = 1000, height = 700, background_ color = "white", \
    max_ words = 15)
W. generate(txt)
W. to_file(" grwordcloud. png")

猜你喜欢

转载自blog.csdn.net/m0_63309778/article/details/124654761