实验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 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 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()#关闭文件
实验6:SQLite数据库操作
题目描述:
在实验3.5的基础上,分别完成数据添加、删除、修改和查询操作。 提示:通过SQL语句insert、delete、update、select分别实现对应数据操作功能。Python操作SQLite数据库程序代码的测试结果如下图所示。
import sqlite3
#办公室用户名kalof, 家里机器用户名xiaomi
conn=sqlite3.connect(r"sqlite3\test.db")
cur=conn.cursor()
#(1)添加一条数据记录
'''
sql="insert into student values('2018004','王1','男',19,'计算机1803')"
cur.execute(sql)
conn.commit()
'''
#(2)删除一个数据记录
'''
sql="delete from student where sid='2018004'"
cur.execute(sql)
conn.commit()
'''
#(3)修改一个数据记录
sql="update student set sname='赵柳', ssex='女' where sid='2018004'"
cur.execute(sql)
conn.commit()
#(4)查询所有数据记录
sql="select * from student"
cur.execute(sql)
ds=cur.fetchall()
for row in ds:
print(row)
cur.close()
conn.close()
实验8:MySQL数据库操作
题目描述:
在实验7的基础上,分别完成数据添加、删除、修改和查询操作。 提示:通过SQL语句insert、delete、update、select分别实现对应数据操作功能。安装pymysql模块方法如下图所示。
(1)设置环境变量Path。新建两个值如“C:\Python\Python36\”和“C:\Python\Python36\Scripts\”。然后确认Python安装目录的子目录Scripts中是否有工具包文件easy_install.exe。 (2)安装pymysql模块。进入“cmd”程序,运行命令“easy_install pymysql”即可。其中安装好的pymysql模块文件是pymysql-0.9.3-py3.6.egg,存放在路径“C:\python\python36\lib\site-packages\”中。 (3)若Python程序调用pymysql数据库操作函数出错,则考虑使用pip3 install pymysql命令或pip install pymysql命令安装pymysql模块。直至测试成功为止。
(4)Python操作MySQL数据程序代码的测试结果如下图所示。
import pymysql
conn=pymysql.connect("localhost","root","1234","test",charset="utf8")
cur=conn.cursor()
#(1)添加一条数据记录
'''
sql="insert into teacher values('2018005','王1','男',32,'讲师','理学院')"
cur.execute(sql)
conn.commit()
'''
#(2)删除一个数据记录
sql="delete from teacher where tid='2018005'"
cur.execute(sql)
conn.commit()
#(3)修改一个数据记录
'''
sql="update teacher set tname='wpf', ttitle='副教授' where tid='2018005'"
cur.execute(sql)
conn.commit()
'''
#(4)查询所有数据记录
sql="select * from teacher;"
cur.execute(sql)
ds=cur.fetchall()
for row in ds:
print(row)
cur.close()
conn.close()