IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> Python知识库 -> 2021-08-11/13 Python嵩天MOOC学习笔记 第七周 -> 正文阅读

[Python知识库]2021-08-11/13 Python嵩天MOOC学习笔记 第七周

作者:recommend-item-box type_blog clearfix

Python嵩天MOOC学习笔记

第⑦周:文件和数据

一、文件的使用

①文件的分类
文本文件:
由单一特定编码组成的文件,如UTF-8编码;
被看成是存储着的长字符串;
例如:txt文件、.py文件

二进制文件:
由0和1组成,没有统一字符编码;
一般存在0和1的组织结构,即文件格式;
例如:png、avi

②文件的打开与关闭
文件名

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

绝对路径法:
<> = open("D:/PYE/f.txt",<>)
或者 <> = open("D:\\PYE\\f.txt",<>)
注意时斜杠或者双反斜杠!

相对路径法:
如果程序存储在D:下,则用
<> = open("./PYE/f.txt",<>)
如果在同一文件内:
<> = open("f.txt",<>)

打开模式:
在这里插入图片描述

①f = open(“f.txt”) 默认文本形式,只读
和f = open(“f.txt”,“rt”)一样
②b:只读
③打开时要指定读和写的模式
④’+'打开模式的精髓在于它能够同时赋予文件的读写权限。

关闭模式:
<变量名>.close()
注意是变量名!!不是文件名

③文件内容的读取
基本语法

<f>.read(size) :读入全部内容,如果给出参数就是读入前size长度的内容

<f>.readline(size):读入一行,如果给出参数就是读入该行前size长度

<f>.readlines(hint):读入所有行,以每行为元素形成列表,如果给出参数则读入前hint行

文件的全文本操作:
方法一:

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: 
#这里避免了readlines,是分行读入,省内存
	print(line)
fo.close()

④数据的文件写入
f.write(s)
f.writelines(lines) :拼接后写入
f.seek(offset)在这里插入图片描述
在这里插入图片描述

fo = open("output.txt","w+")
ls = ["中国""法国","美国"]
fo.writelines(ls) #写入信息
fo.seek(0) #没有这一行则没有输出!!
for line in fo:
	print(line)
fo.close()

二、自动轨迹绘制

△不是通过写代码而是写数据来绘制轨迹,数据脚本是自动化的重要一步

思路:
定义数据文件格式(接口)
编写程序,根据接口解析参数绘制图形
编制数据文件

思维:
自动化思维:数据与功能分离
接口化设计:格式化设计接口
二维数据应用:如何处理成二维列表

三、一维数据的格式化

在这里插入图片描述
存储 -> 表示 ->操作
一维的存储:

  • 列表类型可以表达一维有序数据
  • 集合类型可以表达一维无序数据
  • for遍历
  • 存储方式:①用空格分隔不换行,不适合本身含空格的数据;②用逗号分隔;③特殊符号分隔

一维的处理:

  • 从空格分隔的文件中读入数据
txt = open(fname).read() #←attention
ls = txt.split()
f.close
  • 采用空格分隔方式将数据写入文件
ls = ["中国""美国""日本"]
f = open(fname,"w")
f.write(' '.join(ls)) #←attention
f.close()

四、二维数据的格式化

数据存储格式:

  • 二维数据用二维列表,使用两层for遍历
  • 采用CSV即Comma-Seperated Values,用逗号分隔的值,用.csv扩展名;每行一个一维数据,逗号分隔,无空行;一般来说,CSV文件都是文本文件,由相同编码字符组成。
  • Excel和一般编辑软件都可以读入或另存为csv格式
  • 如果某个元素缺失,逗号仍要保留
  • 二维数据的表头可以作为数据存储,也可以另行存储
  • 索引习惯:ls[row][column]

数据读入处理:
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库把词云当做一个WordCloud对象
  • wordcloud.WordCloud()代表一个文本对应的词云
  • 先使用w = wordcloud.WordCloud(),w叫做对象参数,然后再使用以下方法
方法描述
w.generate(txt)向WordCloud对象w中加载文本txt 如>>>w.generate(“Python and wordcloud”) ,txt要求是由空格分隔的长文本
w.to_file(filename)将词云输出为图像文件,.png或.jpg格式 如>>>w.to_file(“outfile.png”)
  • 步骤:配置对象参数;加载词云文本;输出词云文件
  • 词云会把一到两个字符的单词过滤掉;中文需要用jieba分词
  • 修改配置参数:width height min_font_size max_font_size font_step font_path max_words stop_words mask background_color
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述

六、政府工作报告词云制作

思路:

  • 读取文件,分词整理
  • 设置并输出词云
  • 观察结果,优化迭代
  Python知识库 最新文章
Python中String模块
【Python】 14-CVS文件操作
python的panda库读写文件
使用Nordic的nrf52840实现蓝牙DFU过程
【Python学习记录】numpy数组用法整理
Python学习笔记
python字符串和列表
python如何从txt文件中解析出有效的数据
Python编程从入门到实践自学/3.1-3.2
python变量
上一篇文章      下一篇文章      查看所有文章
加:2021-08-14 13:59:04  更:2021-08-14 14:01:03 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/15 10:27:04-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码