第七周学习:文件和数据格式化

在这里插入图片描述

1.文件的使用

1>文件的类型
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

2>文件的打开和关闭
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

3>文件内容的读取
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

4>数据的文件写入
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

2.实例:自动轨迹绘制

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

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

data.txt

300,0,144,1,0,0
300,0,144,0,1,0
300,0,144,0,0,1
300,0,144,1,1,0
300,0,108,0,1,1
184,0,72,1,0,1
184,0,72,0,0,0
184,0,72,0,0,0
184,0,72,0,0,0
184,1,72,1,0,1
184,1,72,0,0,0
184,1,72,0,0,0
184,1,72,0,0,0
184,1,72,0,0,0
184,1,72,0,0,0
184,1,720,0,0,0

运行结果
在这里插入图片描述

3.一维数据的格式化处理

1>数据组织的维度
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

2>一维数据的表示
在这里插入图片描述
在这里插入图片描述

3>一维数据的存储
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

4>一维数据的处理
在这里插入图片描述
在这里插入图片描述

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

4.二维数据的格式化处理

1>二维数据的表示

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

2>CSV数据存储格式与二维数据的存储
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

3>二维数据的处理
在这里插入图片描述
在这里插入图片描述

在这里插入图片描述

5.wordcloud库的使用

1>wordcloud库基本介绍
在这里插入图片描述
在这里插入图片描述

2>wordcloud库使用说明
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

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

6.实例:政府工作报告词云

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

2>

#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(font_path="msyh.ttc",\
                      width=1000,height=700,backgroud_color="white",\
                      max_words=15)
w.generate(txt)
w.to_file("grwordcloud.png")

3>

#GovRptWordCloudV2.py不规则图形词云
import jieba
import wordcloud
from scipy.misc import imread
mask=imread("fivestart.png")  # bitlogo.png
f=open("新时代中国特色社会主义.txt","r",encoding="utf-8")
t=f.read()
f.close()
ls=jieba.lcut(t)
txt=" ".join(ls)
w=wordcloud.WordCloud(font_path="msyh.ttc",mask=mask\
                      width=1000,height=700,backgroud_color="white",\
                      max_words=15)
w.generate(txt)
w.to_file("grwordcloud.png")

7.练习练习练习

1>文本的平均列数
描述
打印输出附件文件的平均列数,计算方法如下:
(1)有效行指包含至少一个字符的行,不计算空行;(2)每行的列数为其有效字符数;(3)平均列数为有效行的列数平均值,采用四舍五入方式取整数进位。

f = open("latex.log")
s, c = 0, 0
for line in f:
    line = line.strip("\n")
    if line == "":
        continue
    s += len(line)
    c += 1
print(round(s / c))

2>CSV格式清洗与转换

描述
附件是一个CSV格式文件,提取数据进行如下格式转换:(1)按行进行倒序排列;
(2)每行数据倒序排列;
(3)使用分号(;)代替逗号(,)分割数据,无空格;
按照上述要求转换后将数据输出。

f = open("data.csv")
ls = f.readlines()
ls = ls[::-1]
lt = []
for item in ls:
    item = item.strip("\n")
    item = item.replace(" ", "")
    lt = item.split(",")
    lt = lt[::-1]
    print(";".join(lt))
f.close()

3>文件行数
描述
打印输出附件文件的有效行数,注意:空行不计算为有效行数。

f = open("latex.log")
s = 0
for line in f:
    line = line.strip('\n')
    if len(line) == 0:
        continue
    s += 1
print("共{}行".format(s))

4>文件字符分布
描述
统计附件文件的小写字母a-z的字符分布,即出现a-z字符的数量,并输出结果。同时请输出文件一共包含的字符数量。注意输出格式,各元素之间用英文逗号(,)分隔。答案可能包含a-z共26个字符的分布,如果某个字符没有出现,则不显示,输出顺序a-z顺序。

f = open("latex.log")
cc = 0
d = {
    
    }
for i in range(26):
    d[chr(ord('a')+i)] = 0
for line in f:
    for c in line:
        d[c] = d.get(c, 0) + 1
        cc += 1
print("共{}字符".format(cc), end="")
for i in range(26):
    print(",{}:{}".format(chr(ord('a')+i), d[chr(ord('a')+i)]), end="")

5>文件独特行数
描述
统计附件文件中与其他任何其他行都不同的行的数量,即独特行的数量。

f = open("latex.log")
ls = f.readlines()
s = set(ls)
for i in s:
    ls.remove(i)
t = set(ls)
print("共{}独特行".format(len(s)-len(t)))

6>CSV格式列变换
描述
附件是一个CSV文件,请将每行按照列逆序排列后输出,不改变各元素格式(如周围空格布局等)。

f = open("data.csv")
for line in f:
    line = line.strip("\n")
    ls = line.split(",")
    ls = ls[::-1]
    print(",".join(ls))
f.close()

7>CSV格式数据清洗
描述
附件是一个CSV文件,其中每个数据前后存在空格,请对其进行清洗,要求如下:
(1)去掉每个数据前后空格,即数据之间仅用逗号(,)分割;(2)清洗后打印输出。

f = open("data.csv")
s = f.read()
s = s.replace(" ","")
print(s)
f.close()

8.总结==废话

hhhh 8.5学了一小半,然后没忍住玩了两天,今天把剩下的搞完了!

Guess you like

Origin blog.csdn.net/weixin_45800653/article/details/107855560