一、文件读写的读书笔记
1、文件是数据的抽象和集合。
2、文件有两种展现形态:(1)文本文件:单一特定编码组成,如UTF-8编码组成的 .txt文件和 .py文件;(2)二进制文件:直接有比特0和比特1组成,没有统一字符编码,如 .png文件和 .avi文件。
3、python对文本文件和二进制文件采用统一的操作步骤,即“打开——操作——关闭”。
4、文件的打开函数:open()函数,格式如下:
<变量名> = open(<文件名>.<打开模式>)
打开模式 | 含义 |
‘r‘ | 只读模式,若文件不存在,返回异常FileNotFoundError,默认值 |
‘w‘ | 覆盖写模式,文件不存在则创建,存在则完全覆盖源文件 |
‘x‘ | 创建写模式,文件不存在则创建,存在则返回异常FileExistsError |
‘a‘ | 追加写模式,文件不存在则创建,存在则原文件最后追加内容 |
‘b‘ | 二进制文件模式 |
‘t‘ | 文本文件模式,默认值 |
‘+‘ | 与r/w/x/a一同使用,在原功能基础上增加同时读写功能 |
7种基本的打开模式
5、文件的读写
方法 | 含义 |
<file>.readall() | 读入整个文件内容,返回一个字符串或字节流 |
<file>.read(size=-1) | 从文件中读入整个文件内容,如果给出参数,读入前size长度的字符串或字节流 |
<file>.readline(size=-1) | 从文件中读入一行内容,如果给出参数,读入该行前size长度的字符串或字节流 |
<file>.readlines(hint=-1) | 从文件中读入所有行,以每行为元素形成一个列表,如果给出参数,读入hint行 |
4种常用的内容读取方法
方法 | 含义 |
<file>.write(s) | 向文件写入一个字符串或字节流 |
<file>.writelines(lines) | 将一个元素为字符串的列表写入文件 |
<file>.seek(offset) | 改变当前文件操作指针的位置,offset的值: 0:文件开头;1:当前位置;1:文件结尾 |
3种与文件内容写入有关的方法
一、读入成绩Excel文件,并存为CSV格式,并把优秀变成90分,良好80分,及格60分,没有交0分。
首先是Excel文件存为CSV格式代码
import pandas as pd data = pd.read_excel(‘C:/Users/86183/Desktop/Python成绩登记信计.xlsx‘,‘Sheet1‘,index_col=0) data.to_csv(‘data1.csv‘,encoding=‘utf-8‘)
其次是替换CSV格式中部分字符的代码:
import os import os.path csvpath=os.getcwd()+"\\" f=open(‘data1.csv‘,encoding="utf-8") content = f.read() f.close() t = content.replace("优秀","90分").replace("良好","80分").replace("不合格","0分").replace("合格","60分") with open("kong1.CSV","w",encoding=‘gbk‘) as f1: f1.write(t)
开始时的文件:
处理后的文件:
CSV文件转换为html格式
import pandas fo = pd.read_csv("C:/Users/86183/Desktop/kong1.CSV",encoding = ‘GB2312‘) fo.to_html("C:/Users/86183/Desktop/kong1.html",index = False,header=1)
运行结果: