MOOC《Python语言程序设计》(第15次)文件和数据格式化(第七周)

MOOC《Python语言程序设计》(第15次)

文件和数据格式化(第七周)21.8.12

单向选择题

1、二维列表ls=[[1,2,3], [4,5,6],[7,8,9]],哪个选项能获取其中元素5?‪‬‪‬‪‬‪‬‪‬‮‬‫‬‮‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‭‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‭‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‫‬

A、ls[-1][-1]

B、ls[4]

C、ls[1][1]

D、ls[-2][-1]

正确答案 C

这是二维切片的使用方式。

2、以下选项对文件描述错误的是:‪‬‪‬‪‬‪‬‪‬‮‬‫‬‮‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‭‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‭‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‫‬

A、文件是存储在辅助存储器上的数据序列

B、文件是数据的集合和抽象

C、文件是程序的集合和抽象

D、文件可以包含任何内容

正确答案 C

函数或类是程序的集合和抽象,文件不是。

3、给定列表ls = [1, 2, 3, “1”, “2”, “3”],其元素包含2种数据类型,哪个选项是列表ls的数据组织维度?‪‬‪‬‪‬‪‬‪‬‮‬‫‬‮‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‭‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‭‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‫‬

A、高维数据

B、二维数据

C、一维数据

D、多维数据

正确答案 C

列表元素如果都是列表,其可能表示二维数据,例如:[[1,2], [3,4], [5,6]]。

如果列表元素不都是的将列表,则它表示一维数据。

4、关于数据组织的维度,哪个选项的描述是错误的?‪‬‪‬‪‬‪‬‪‬‮‬‫‬‮‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‭‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‭‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‫‬

A、一维数据采用线性方式组织,对应于数学中的数组和集合等概念

B、二维数据采用表格方式组织,对应于数学中的矩阵

C、高维数据由键值对类型的数据构成,采用对象方式组织

D、数据组织存在维度,字典类型用于表示一维和二维数据

正确答案 D

字典用于表示高维数据,一般不用来表示一二维数据。

5、关于Python文件的‘+’打开模式,哪个选项的描述是正确的?‪‬‪‬‪‬‪‬‪‬‮‬‫‬‮‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‭‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‭‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‫‬

A、追加写模式

B、与r/w/a/x一同使用,在原功能基础上增加同时读写功能

C、覆盖写模式

D、只读模式

正确答案 B

'+'打开模式的精髓在于它能够同时赋予文件的读写权限。

6、以下选项不是Python文件读操作的是:‪‬‪‬‪‬‪‬‪‬‮‬‫‬‮‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‭‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‭‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‫‬

A、readlines()

B、readtext()

C、readline()

D、read()

正确答案 B

没有readtext()方法

7、对于Python文件,以下描述正确的是:‪‬‪‬‪‬‪‬‪‬‮‬‫‬‮‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‭‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‭‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‫‬

A、同一个文件可以既采用文本方式打开,也可以采用二进制方式打开

B、当文件以文本方式打开时,读取按照字节流方式

C、根据不同类型的文件,打开方式只能是文本或者二进制中的一种

D、当文件以二进制文件方式打开时,读取按照字符串方式

正确答案 A

文件就在那里,二进制或文本方式打开只是对其不同的程序理解。

8、关于文件关闭的close()方法,哪个选项的描述是正确的?‪‬‪‬‪‬‪‬‪‬‮‬‫‬‮‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‭‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‭‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‫‬

A、如果文件是只读方式打开,仅在这种情况下可以不用close()方法关闭文件

B、文件处理结束之后,一定要用close()方法关闭文件

C、文件处理遵循严格的“打开-操作-关闭”模式

D、文件处理后可以不用close()方法关闭文件,程序退出时会默认关闭

正确答案 D

打开文件后采用close()关闭文件是一个好习惯。如果不调用close(),当前Python程序完全运行退出时,该文件引用被释放,即程序退出时,相当于调用了close()。

9、关于CSV文件的描述,哪个选项的描述是错误的?‪‬‪‬‪‬‪‬‪‬‮‬‫‬‮‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‭‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‭‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‫‬

A、CSV文件通过多种编码表示字符

B、CSV文件的每一行是一维数据,可以使用Python中的列表类型表示

C、整个CSV文件是一个二维数据

D、CSV文件格式是一种通用的、相对简单的文件格式,应用于程序之间转移表格数据

正确答案 A

一般来说,CSV文件都是文本文件,由相同编码字符组成。

**10、Python对文件操作采用的统一步骤是:**‪‬‪‬‪‬‪‬‪‬‮‬‫‬‮‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‭‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‭‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‫‬

A、打开—读写—写入

B、打开—读取—写入—关闭

C、操作—读取—写入

D、打开—操作—关闭

正确答案 D

打开—操作—关闭 是一个统一步骤,其中,关闭可以省略。

程序设计题

文件的平均列数

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

f = open("latex.log")
line = 0
row = 0
for item in f:
    item = item.strip("\n")   #以回车为分隔,代表一行
    if len(item) == 0:     #空行不计算
        continue
    else:
        line += 1
        row += len(item)
print(round(row/line))
f.close()

CSV格式清洗与转换

f=open("data.csv")
line=f.readlines()
line.reverse()
for i in line:
    i=i.replace('\n','')
    i=i.replace(' ','')
    a=i.split(",")
    a.reverse()
    print(";".join(a))
f.close()

练习题

文件行数

# 文件行数
'''
描述:
打印输出附件文件的有效行数,注意:空行不计算为有效行数。
'''
f = open("latex.log")
count = 0
for i in f:
    line = i.strip("\n")   #以回车为分隔,代表一行
    if len(line) == 0:     #空行不计算
        continue
    else:
        count = count+1
print("共{}行".format(count))

文件字符分布

# 文件字符分布
'''
描述:
统计附件文件的小写字母a-z的字符分布,即出现a-z字符的数量,并输出结果。‪‬‪‬‪‬‪‬‪‬‮‬‫‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‮‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‭‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‭‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‪‬
同时请输出文件一共包含的字符数量。‪‬‪‬‪‬‪‬‪‬‮‬‫‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‮‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‭‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‭‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‪‬
注意输出格式,各元素之间用英文逗号(,)分隔。‪‬‪‬‪‬‪‬‪‬‮‬‫‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‮‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‭‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‭‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‪‬
答案可能包含a-z共26个字符的分布,如果某个字符没有出现,则不显示,输出顺序a-z顺序。
'''
f = open("latex.log")
count = 0
d = {}
for line in f:                          #遍历一行数据
    for c in line:                      #遍历每个数据
        d[c] = d.get(c, 0) + 1          #用字典get方法计算字母出现个数,当遇见空格或其它符号,返回0
        count = count+1
print("共{}字符".format(count), end="")  #打印总数
for i in range(26):                     #将字母转化为ASCII码并输出
    print(",{}:{}".format(chr(ord('a')+i), d[chr(ord('a')+i)]), end="")

文件独特行数

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

'''
f = open("test.txt")
ls = f.readlines()
s = set(ls)
for i in s:
    ls.remove(i)
t = set(ls)
print("共{}独特行".format(len(s)-len(t)))
# 独特行是指没有重复的一行

CSV格式列变换

# CSV格式列变换
'''
描述
附件是一个CSV文件,请将每行按照列逆序排列后输出,不改变各元素格式(如周围空格布局等)。
'''
data = open("data.csv")
for i in data:
    ls =i.replace('\n','')
    m = ls.split(',')[::-1]   #列表切片
    print(','.join(m))

CSV格式数据清洗

# CSV格式数据清洗
'''
附件是一个CSV文件,其中每个数据前后存在空格,请对其进行清洗,要求如下:‪‬‪‬‪‬‪‬‪‬‮‬‫‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‮‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‭‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‭‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‪‬
(1)去掉每个数据前后空格,即数据之间仅用逗号(,)分割;‪‬‪‬‪‬‪‬‪‬‮‬‫‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‮‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‭‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‭‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‪‬
(2)清洗后打印输出。
'''
f = open("data.csv")
s = f.read()
print(s.replace(" ",""))
f.close()

学习笔记

1、文件的使用

1.1 文件的类型

文本文件:

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

二进制文件:

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

f.txt文件保存:“中国是个伟大的国家!”

文本形式:中国是个伟大的国家!

二进制形式:b’\xd6\xdo\xb9\xfa\xca\xc7\xb8\xf6\xce\xbo\xb4\xf3\xb5\xc4\xb9\xfa\xbc\xd2\xa3\xa1’

1.2 文件的处理:

文件的打开:

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

  • <变量名>:文件句柄;
  • <文件名>:路径和名称,分绝对路径和相对路径;
  • <打开模式>:文本或二进制;读或写。

文件的关闭:

<变量名>.close()

文件的打开模式描述
‘r’只读模式,默认值,如果文件不存在,返回FileNotFoundError
'w ’覆盖写模式,文件不存在则创建,存在则完全覆盖
‘x’创建写模式,文件不存在则创建,存在则返回FileExistsError
‘a’追加写模式,文件不存在则创建,存在则在文件最后追加内容
‘b’二进制文件模式
‘t’文本文件模式,默认值
‘+’与r/w/x/a一同使用,在原功能基础上增加同时读写功能

文件内容的读取:

操作方法描述
.read(size-1)读入全部内容,如果给出参数,读入前size长度
>>> s= f.read(2)
中国
.readline(size-1)读入一行内容,如果给出参数,读入该行前size长度
>>>s = f.readline()
中国是一个伟大的国家!
.readlines(hint=-1)读取文件所有行,以每行为元素形成列表,如果给出参数,读取前hint行
>>> s = f.readlings()
[“中国是一个伟大的国家!”]
# 遍历文本的方法

fo = open('China.txt' , "r")

# 方法一:一次读入,统一处理
txt_1 =fo.read()  # 对全文txt进行处理

# 方法二:按数量读入,逐步处理
txt_2 = fo.read(2)
while txt_2 != '':
    # 对 txt 进行处理
    txt_2 = fo.read(2)

# 方法三:一次读入,分行处理
for line in fo.readlines():
    print(line)

# 方法四:分行读入,逐行处理
for line in fo:
    print(line)

fo.close()

数据的文件写入:

操作方法描述
.write(s)向文件写入一个字符串或字节流
f.write(“中国是一个伟大的国家!”)
.writeline(lines)将一个元素全为字符串的列表写入文件
>>>1s = [“中国”,“法国”,“美国"]
>>>f.writelines(ls)
中国法国美国
.seek(offset)改变当前文件操作指针的位置,offset含义如下:0一文件开头; 1一当前位置; 2-文件结尾>>>f.seek(0) # 回到文件开头

2、实例11:自动轨迹绘画

# AutoTraceDraw.py
'''
基本步骤:
步骤1:定义数据文件格式(接口)
步骤2:编写程序,根据文件接口解析参数绘制图形
步骤3:编制数据文件

数据格式:
例:300,1,144,0,1,0
行进距离,转向判断(0左1右),转向角度,RGB三通道颜色
'''

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

3、一位数据的格式化和处理

3.1 一维数据的表示

  • 如果时间有序,使用列表类型
  • 如果数据无序,使用集合类型

3.2 一维数据的存储

  • 方式一:空格分隔

使用一个或多个空格分隔,不换行

缺点:数据中不能存在空格。

  • 方式二:逗号分隔

使用英文半角逗号分隔数据进行存储,不换行;

缺点:数据中不能有英文逗号。

  • 方式三:其他符号

使用其他符号或符号组合分隔,建议采用特殊符号

缺点:需要根据数据特点定义,通用性较差

3.3 一维数据的处理

# 从空格分隔的文件中读入数据
txt = open("f_deal").read()
ls_1 = txt.split()

# 从特殊符号分隔的文件中读入数据
txt = open("f_deal").read()
ls_2 = txt.split("$")

# 采用空格分隔方式将数据写入文件
ls = ['中国','美国','日本']
f = open("f_deal.txt",'w')
f.write(''.join(ls))
f.close()

# 采用特殊分隔方式将数据写入文件
ls = ['中国','美国','日本']
f = open("f_deal.txt",'w')
f.write(''.join(ls))
f.close()

4、二维数据的格式化和处理

4.1 二维数据的表示

使用二维列表类型表达二维数据

– 使用两层for循环遍历每个元素

– 外层列表中每个元素对应一行/列

4.2 二维数据的存储

**CSV:**Comma-Separated Values

  • 国际通用的一二维数据存储格式
  • 每行一个一维数据,采用逗号分隔,无空行
  • Excel和一般编辑软件都可以读入或另存为csv文件
  • 如果某个元素缺失,逗号仍要保留
  • 二维数据的表头可以作为数据存储,也可以另行存储
  • 逗号为英文半角逗号,逗号与数据之间无额外空格

在这里插入图片描述

存储规范:

  • 按行存或者按列存都可以,具体由程序决定
  • 一般索引习惯:ls[ row ][column],先行后列
  • 根据一般习惯,外层列表每个元素是一行,按行存
4.3 二维数据的处理
# 从 CSV 格式的文件中读入数据
fo = open("f_deal.txt")
ls_1 = []
for line in fo:
    line = line.replace("\n","")
    ls_1.append(line.split(","))
fo.close()

# 将数据写入 CSV 格式的文件
ls_2 = [['China','CN'],['American','USA'],['Japan','JPN']]
fw = open("f_deal.txt","w")
for item in ls_2:
    fw.write(','.join(item)+'\n')
fw.close()

5、模块6:wordcloud库的使用

词云的含义

以词语为基本单元,将词语通过图片可视化的方式,直观和艺术地展示出来。

wordcloud库的安装:

方式一:(cmd命令行)pip install wordcloud 即可。pycharm中在 Terminal 中输入。

方式二(pycharm):File -> settings -> Project Interpreter(点击右侧“+”号) -> 输入wordcloud,点击 Install Package 安装

在这里插入图片描述

wordcloud库的基本使用

w = wordcloud.WordCloud()

– 以WordCloud对象为基础

– 实现配置参数,加载文本,输出文件

常规方法:

方法描述
w.generate(txt)向WordCloud对象w中加载文本txt
>>>w.generate( “Python and wordCloud” )
w.to_file(filename)将词云输出为图像文件,.png或.jpg格式
>>>w.to_fi1e( “outfile.png” )
# 常规方法:
import wordcloud
# 步骤1:配置对象参数
c = wordcloud.WordCloud()
# 步骤2:加载词云文本
c.generate("wordcloud by python")
# 步骤3:输出词云文件
c.to_file("pywordcloud.png")

配置对象参数

w = wordcloud.WordCloud(<参数>)

参数描述
width指定词云对象生成图片的宽度,默认400像素
>>>w=wordcloud.wordCloud(width=600)
height指定词云对象生成图片的高度,默认200像素
>>>w=wordcloud.wordCloud( height=400)
min_font_size指定词云中字体的最小字号,默认4号
>>>w=wordcloud.wordCloud(min_font_size=10)
max_font _size指定词云中字体的最大字号,根据高度自动调节
>>>w=wordcloud.wordcloud(max_font_size=20)
font_step指定词云中字体字号的步进间隔,默认为1
>>>w=wordcloud.wordCloud(font_step=2)
font_path指定字体文件的路径,默认None
>>>w=wordcloud.wordCloud(font_path=“msyh.ttc”)
max_words指定词云显示的最大单词数量,默认200
>>>w=wordcloud.wordCloud(max_words=20)
stop_words指定词云的排除词列表,即不显示的单词列表
>>>w=wordcloud.wordCloud(stop_words={ “Python”})
mask指定词云形状,默认为长方形,需要引用imread()函数
>>>from scipy.misc import imread
>>>mk=imread( “pic.png”)
>>>w=wordcloud.wordcloud(mask=mk)
background_color指定词云图片的背景颜色,默认为黑色
>>>w=wordcloud.wordCloud(background_color=“white”)
# 应用实例1:英文词云
import wordcloud
txt = "life is shorted, you need python"
w = wordcloud.WordCloud(
    background_color = 'white')
w.generate(txt)
w.to_file("pywcloud.png")

# 应用实例2:中文词云
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("pywcloud.png")

6、实例12:《目光》词云

# 原课程中是政府工作报告词云
import jieba
import wordcloud
from imageio import imread

diymask = imread(".\实例12:政府工作报告词云\五角星.png")
f = open(".\实例12:政府工作报告词云\目光.txt", encoding='UTF-8')
t = f.read()
f.close()
ls = jieba.lcut(t)
ls = [i for i in ls if len(i)>1] # 去除单个字以及各类字符 
txt = " ".join(ls)
w = wordcloud.WordCloud(
    font_path = "msyh.ttc", mask = diymask,width = 1000, height = 700,
    background_color='white', max_words = 20,
    stopwords={"这个","可以","我们",'他们','很多','什么','一个','没有','就是',"一些","所以",'他们','一种'}
)
w.generate(txt)
w.to_file("grwordcloud.png")

资料来源:
Python语言程序设计_北京理工大学_中国大学MOOC(慕课) https://www.icourse163.org/course/BIT-268001

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值