实验1:文本文件操作
题目描述:
编程新建一个名为test.txt文件,存放在代码文件所在目录中,并且打开该文件。然后写入如下图所示内容到文件中。最后分别读取5个字符、读取第一行字符串、读取第三行的字符串,读取所有字符串。如下图所示。
提示:使用文件操作函数open()、write()、read()、readline()、readlines()、seek()、tell()、close()。
#(1)创建并打开文件
f=open("test.txt","w+")#w+: 文件不存在,则创建;文件存在,则新内容覆盖
#(2)写入内容
for i in range(5):
f.write("chriswpf"+str(i+1)+"\n")#换行字符“\n”占2个字节
f.close()
#(3)读取文件
f=open("test.txt","r")#r:读模式
print("读5个字符是:"+f.read(5))#读取5个字节字符
f.seek(0) #定位到第0号行位置 一行字符长度11个(含换行字符2个字节)
print("读第一行字符串是:"+f.readline(),end='')#读第一行字符串
f.seek(f.tell()*2)#定位到第2号行位置,f.tell()*2=33
print("读第三行字符串是:"+f.readline())#读第三行字符串
f.seek(0)
print("读所有行字符串是:")
fs=f.readlines()
for line in fs:
print(line[:-1],end=' ')#去掉换行字符,空格隔开
f.close()#关闭文件
实验2:CSV文件操作
题目描述:
编程新建一个名为test.csv文件,存放在代码文件所在目录中,并且打开该文件。然后写入如下图所示内容到文件中。最后读取所有文件数据,如下图所示。
提示:import csv #csv是内建模块,直接使用
import csv #csv是内建模块,直接使用
#(1)写入文件
list1=[[1,2,3],[4,5,6],[7,8,9]]
f=open(r"test.csv",'w+',newline='')
cw=csv.writer(f,dialect="excel")
for i in range(len(list1)):
cw.writerow(list1[i]) #按行追加写入
f.close()
#(2)读取文件
cr=csv.reader(open(r"test.csv",encoding="utf-8"))
for row in cr:
print(row)
实验3:Excel文件操作
题目描述:
编程新建一个名为test.xls文件,存放在代码文件所在目录中,并且打开该文件。然后通过xlwt模块写入如下图所示内容到文件中。最后通过xlrd模块读取所有文件数据,如下图所示。
提示:安装xlrd读模块,如下图,安装xlwt写模块,如下图。
#实验3.3 Excel文件操作-模块方法
import xlrd #Excel读模块
import xlwt #Excel写模块
#(1)创建并写入文件
book=xlwt.Workbook(encoding="utf-8")
sheet=book.add_sheet("student",cell_overwrite_ok=True)
#写入表标题
sheet.write(0,0,"学号");sheet.write(0,1,"姓名")
sheet.write(0,2,"性别");sheet.write(0,3,"年龄");
sheet.write(0,4,"班级")
#写入表内容
sid=["2018001","2018002","2018003","2018004","2018005"]
sname=["张珊","李斯","王武","赵柳","吴鹏飞"]
ssex=['女','男','男','女','男']
sage=[18,19,18,19,18]
sclass=["计算机1801","计算机1802","计算机1801","计算机1802","计算机1801"]
for i in range(5): #注意:0是表标题,所以需要加1,从1开始
sheet.write(i+1,0,sid[i]);sheet.write(i+1,1,sname[i])
sheet.write(i+1,2,ssex[i]);sheet.write(i+1,3,sage[i]);
sheet.write(i+1,4,sclass[i])
book.save(r"test.xls")#保存文件:如果无,则新建;如果存在,则覆盖内容
#(2)打开并读取文件
wb=xlrd.open_workbook(r"test.xls")#r:读模式
for s in wb.sheets():
print(s.name+"信息如下:")
for i in range(s.nrows):
print(s.row(i)[0].value,end=' ')
print(s.row(i)[1].value,end=' ')
print(s.row(i)[2].value,end=' ')
print(s.row(i)[3].value,end=' ')
print(s.row(i)[4].value,end=' ')
print()
#实验3.3 Excel文件操作-普通方法
#(1)创建并打开文件
f=open("test1.xls","w+")#w+: 文件不存在,则创建;文件存在,则新内容覆盖
#(2)写入内容
f.write("学号 "+"\t"+"姓名"+"\t"+"性别"+"\t"+"年龄"+"\t"+"班级"+"\n") #表头
sid=["2018001","2018002","2018003","2018004","2018005"]
sname=["张珊","李斯","王武","赵柳","吴鹏飞"]
ssex=['女','男','男','女','男']
sage=[18,19,18,19,18]
sclass=["计算机1801","计算机1802","计算机1801","计算机1802","计算机1801"]
for i in range(5):
f.write(sid[i]+"\t"+sname[i]+"\t"+ssex[i]+"\t"+str(sage[i])+"\t"+sclass[i]+"\n")
f.close()
#(3)读取文件-使用普通方法读取
f=open("test1.xls","r")#r:读模式
f.seek(0) #定位到第0号行位置 一行字符长度11个(含换行字符2个字节)
print(f.readline(),end='')#读第一行表头
f.seek(0,1)#将当前位置设置为起点字符
fs=f.readlines() #读其他行内容
for line in fs:
print(line,end='')#去掉换行字符,空格隔开
f.close
实验4:Word文件操作
题目描述:
编程新建一个名为test.doc文件,存放在代码文件所在目录中,并且打开该文件。然后写入如下图所示内容到文件中。最后分别读取5个字符、读取第一行字符串、读取第三行的字符串,读取所有字符串。如下图所示。
提示:使用文件操作函数open()、write()、read()、readline()、readlines()、seek()、tell()、close()。
#(1)创建并打开文件
f=open("test.doc","w+",encoding="utf-8")#w+: 文件不存在,则创建;文件存在,则新内容覆盖
#(2)写入内容
for i in range(5):
f.write("华中农业大学"+str(i+1)+"\n")#换行字符“\n”占2个字节
f.close()
#(3)读取文件
f=open("test.doc","r",encoding="utf-8")#r:读模式
print("读6个文字是:"+f.read(6))#读取5个字节字符
f.seek(0) #定位到第0号行位置 一行字符长度11个(含换行字符2个字节)
print("读第一行文字是:"+f.readline(),end='')#读第一行字符串
f.seek(f.tell()*2)#定位到第2号行位置
print("读第三行文字是:"+f.readline())#读第三行字符串
f.seek(0)#回到文件最首位置
print("读所有行文字是:")
fs=f.readlines()
for line in fs:
print(line[:-1],end=' ')#去掉换行字符,空格隔开
f.close()#关闭文件