Python|文件处理与数据库编程

某农带专业Python课实验三

txt文件处理

题目描述:编程新建一个名为test.txt文件,存放在代码文件所在目录中,并且打开该文件。然后写入如图1-1所示内容到文件中。最后分别读取5个字符、读取第一行字符串、读取第三行的字符串,读取所有字符串。如图1-2所示。

提示:使用文件操作函数open()、write()、read()、readline()、readlines()、seek()、tell()、close()。

# -*- coding: utf-8 -*-
"""
PROJECT_NAME: pythonProject_ lesson 
FILE_NAME: operate_txt 
AUTHOR: welt 
E_MAIL: tjlwelt@foxmail.com
DATE: 2022/12/1 
"""

if __name__ == "__main__":
   # 创建并打开文件
   f = open("tjl.txt", "w+")

   # 写入内容
   for i in range(5):
      f.write("chriswpf" + str(i + 1) + "\n")
   f.close()

   # 读取文件
   f = open("tjl.txt", "r")
   print("读5个字符是:" + f.read(5))

   f.seek(0)
   print("读第一行字符串是:" + f.readline(), end='')

   f.seek(f.tell() * 2)
   print("读第三行字符串是:" + f.readline())

   f.seek(0)
   print("读所有行字符串是:")
   fs = f.readlines()
   for line in fs:
      print(line[:-1], end=' ')
   f.close()

csv文件处理

题目描述:编程新建一个名为test.csv文件,存放在代码文件所在目录中,并且打开该文件。然后写入如图2-1所示内容到文件中。最后读取所有文件数据,如图2-2所示。

提示:import csv # csv是内建模块,直接使用

# -*- coding: utf-8 -*-
"""
PROJECT_NAME: pythonProject_ lesson 
FILE_NAME: operate_csv 
AUTHOR: welt 
E_MAIL: tjlwelt@foxmail.com
DATE: 2022/12/1 
"""

import csv

if __name__ == '__main__':
   # 写入文件
   numlist = [[1, 2, 3], [4, 5, 6], [7, 8, 9]]
   f = open("tjl.csv", "w+", newline="")
   csvwriter = csv.writer(f)
   for item in numlist:
      csvwriter.writerow(item)
   f.close()
   f = open("tjl.csv", "r", newline="")
   csvreader = csv.reader(f)
   for row in csvreader:
      print(row)
   f.close()

excel文件处理

题目描述:编程新建一个名为test.xls文件,存放在代码文件所在目录中,并且打开该文件。然后通过xlwt模块写入如图3-1所示内容到文件中。最后通过xlrd模块读取所有文件数据,如图3-2所示。

提示:安装xlrd读模块,安装xlwt写模块。

# -*- coding: utf-8 -*-
"""
PROJECT_NAME: pythonProject_ lesson 
FILE_NAME: operate_excel 
AUTHOR: welt 
E_MAIL: tjlwelt@foxmail.com
DATE: 2022/12/1 
"""
import xlrd
import xlwt
if __name__ == '__main__':
   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', '2018001', '2018001', '2018001', '2018001']
   sname = ['张珊', '李斯', '王武', '赵柳', '吴鹏飞']
   ssex = ['女', '男', '男', '女', '男']
   sage = [18, 19, 18, 19, 18]
   sclass = ['计算机1801', '计算机1802', '计算机1801', '计算机1802', '计算机1801']
   for i in range(len(sid)):
      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("test.xls")

   wb = xlrd.open_workbook("test.xls")
   sheet1 = wb[0]
   print(sheet1.name + "信息如下: ")
   for i in range(sheet1.nrows):
      print(sheet1.row(i)[0].value, end=" ")
      print(sheet1.row(i)[1].value, end=" ")
      print(sheet1.row(i)[2].value, end=" ")
      print(sheet1.row(i)[3].value, end=" ")
      print(sheet1.row(i)[4].value, end=" ")
      print()

word文件处理

题目描述:编程新建一个名为test.doc文件,存放在代码文件所在目录中,并且打开该文件。然后写入如图4-1所示内容到文件中。最后分别读取5个字符、读取第一行字符串、读取第三行的字符串,读取所有字符串。如图4-2所示。

提示:使用文件操作函数open()、write()、read()、readline()、readlines()、seek()、tell()、close()。

# -*- coding: utf-8 -*-
"""
PROJECT_NAME: pythonProject_ lesson 
FILE_NAME: operate_word 
AUTHOR: welt 
E_MAIL: tjlwelt@foxmail.com
DATE: 2022/12/1 
"""

if __name__ == '__main__':
   # 创建并打开文件
   f = open("test.doc", "w+", encoding="utf-8")

   # 写入内容
   for i in range(1, 6):
      f.write("华中农业大学" + str(i) + "\n")
   f.close()

   # 读取文件
   f = open("test.doc", "r", encoding="utf-8")  # r:读模式

   print("读6个文字是:" + f.read(6))

   f.seek(0)
   print("读第一行文字是:" + f.readline(), end='')
   f.seek(f.tell() * 2)  # 定位到第2号行位置
   print(f.tell())
   print("读第三行文字是:" + f.readline())

   f.seek(0)
   print("读所有行文字是:")
   fs = f.readlines()
   for line in fs:
      print(line[:-1], end=' ')

   f.close()  # 关闭文件

sqlite3数据库编程

题目描述:创建一个测试数据库test. db,该数据库中包含一张student表,该数据表含有五个字段学号sid、姓名sname、性别ssex、年龄sage、班级sclass。

提示

通过SQL语句insert、delete、update、select分别实现对应数据操作功能。

# -*- coding: utf-8 -*-
"""
PROJECT_NAME: pythonProject_ lesson 
FILE_NAME: py_SQLite 
AUTHOR: welt 
E_MAIL: tjlwelt@foxmail.com
DATE: 2022/12/1 
"""

import sqlite3

if __name__ == '__main__':
	conn = sqlite3.connect("test.db")
	cur = conn.cursor()

	create_sql = """create table student
		    (sid char(2) primary key not null,
		    sname char(4) not null,
		    ssex char(6) not null,
		    age char(6) not null,
		    class char(20) not null
		    )
		    ;"""
	cur.execute(create_sql)

	# 添加一条数据记录
	addsql1 = "insert into student values('2018005','王2','男',18,'计算机1803')"
	add_sql = "insert into student values('2018004','王1','男',19,'计算机1803')"
	cur.execute(add_sql)
	cur.execute(addsql1)
	conn.commit()

	# 删除一个数据记录
	del_sql = "delete from student where sid='2018004'"
	cur.execute(del_sql)
	conn.commit()

	# 修改一个数据记录
	update_sql = "update student set sname='赵柳', ssex='女' where sid='2018005';"
	cur.execute(update_sql)
	conn.commit()

	# 查询所有数据记录
	all_sql = 'select * from student'
	cur.execute(all_sql)
	ds = cur.fetchall()
	for row in ds:
		print(row)

	cur.close()
	conn.close()

mysql数据库编程

题目描述:创建一个测试数据库test.db,该数据库中包含一张teacher表,该数据表含有六个字段教工号tid、姓名tname、性别tsex、年龄tage、职称ttitle。

提示

通过SQL语句insert、delete、update、select分别实现对应数据操作功能。

# -*- coding: utf-8 -*-
"""
PROJECT_NAME: pythonProject_ lesson 
FILE_NAME: py_mySQL 
AUTHOR: welt 
E_MAIL: tjlwelt@foxmail.com
DATE: 2022/12/1 
"""

import pymysql
if __name__ == '__main__':
   conn = pymysql.connect("localhost", "root", "tjl20021006", "tjl", charset="utf8")
   cur = conn.cursor()

   # 添加一条数据记录
   sql="insert into teacher values('2018005','王1','男',32,'讲师','理学院')"
   cur.execute(sql)
   conn.commit()

   # 删除一个数据记录
   sql = "delete from teacher where tid='2018005'"
   cur.execute(sql)
   conn.commit()

   # 修改一个数据记录
   sql="update teacher set tname='wpf', ttitle='副教授' where tid='2018005'"
   cur.execute(sql)
   conn.commit()

   # 查询所有数据记录
   sql = "select * from teacher;"
   cur.execute(sql)
   ds = cur.fetchall()
   for row in ds:
      print(row)

   cur.close()
   conn.close()
posted @ 2022-12-22 19:04  Weltㅤ  阅读(91)  评论(0编辑  收藏  举报