您当前的位置: 首页 >  Python

小天才才

暂无认证

  • 0浏览

    0关注

    168博文

    0收益

  • 0浏览

    0点赞

    0打赏

    0留言

私信
关注
热门博文

Python语言程序设计实验(3)—— Python文件与数据库

小天才才 发布时间:2021-02-08 17:04:03 ,浏览量:0

实验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()
关注
打赏
1658396332
查看更多评论
立即登录/注册

微信扫码登录

0.0396s