文件操作,异常处理,数据库操作


一、文件操作

示例:pandas 是基于NumPy 的一种工具,该工具是为了解决数据分析任务而创建的。

二、异常处理

1.列表读写

"""
开头是不留空,以行为单位。
可含或不含列名,含列名则居文件第一行。
一行数据不跨行,无空行。
以半角逗号(即,)作分隔符,列为空也要表达其存在。
列内容如存在半角引号(即"),替换成半角双引号("")转义,即用半角引号(即"")将该字段值包含起来。
文件读写时引号,逗号操作规则互逆。
内码格式不限,可为 ASCII、Unicode 或者其他。
不支持特殊字符

获取CSV写操作对象
            csvWriter = csv.writer(csvfile,[dialect ='excel'** fmtparams])
            返回一个编写器对象。
CSV写操作方法
            writer.writerow()    #写入一行数据,即将一个可迭代对象写入文件
            writer.writerows()  #写入多行数据到CSV文件

"""
import csv
#newline  区分换行符
with open('dt.csv', "w", newline="") as f:
    csvWrite=csv.writer(f)#获取csv文件操作对象
    #进行写操作
    IsHeader=['姓名','年龄','成绩']
    ls = []
    ls.append(["张三", 18, 90])
    ls.append(["李四", 19, 92])
    ls.append(["王五", 17, 89])

    csvWrite.writerow(IsHeader)
    csvWrite.writerows(ls)
"""
读取数据
"""
with open('dt.csv', "r", newline="") as f2:
    #获取CSV读操作对象
    csvReader=csv.reader(f2)
    #进行操作
    ls2=list(csvReader)
    print(ls2)


2.字典读写

"""
获取Dict方式的CSV写操作对象

1)调用 csv 模块中类 DictWriter 的语法为:csv.DictWriter(f, fieldnames)。语法中的参数 f 是 open() 函数打开的文件对象;参数 fieldnames 用来设置文件的表头;

2)执行csv.DictWriter(f, fieldnames)后会得到一个 DictWriter 对象;

3)得到的 DictWriter 对象可以调用 writeheader() 方法,将 fieldnames 写入 csv 的第一行;

4)最后,调用 writerows() 方法将多个字典写进 csv 文件中。

"""
import csv
d1 = {"姓名":"张三","年龄":18,"成绩":90}
d2 = {"姓名":"李四","年龄":19,"成绩":92}
d3 = {"姓名":"王五","年龄":17,"成绩":89}
ls = []
ls.append(d1)
ls.append(d2)
ls.append(d3)
print(ls)
#[{'姓名': '张三', '年龄': 18, '成绩': 90}, {'姓名': '李四', '年龄': 19, '成绩': 92}, {'姓名': '王五', '年龄': 17, '成绩': 89}]
Isheader=ls[0].keys()#['姓名', '年龄', '成绩']
with open('dt.csv',"w",newline='') as  f:
    print(list(Isheader))#['姓名', '年龄', '成绩']
    dictWriter=csv.DictWriter(f,fieldnames=Isheader)#获取CSV的写操作对象,并且设置表头
    dictWriter.writeheader()#将 fieldnames(表头) 写入 csv 的第一行;
    dictWriter.writerows(ls)#写入剩下的行


3.对象元素列表的读写


"""
pickle提供了一个简单的持久化功能。可以将对象以文件的形式存放在磁盘上。
pickle模块只能在Python中使用,python中几乎所有的数据类型(列表,字典,集合,类等)都可以用pickle来序列化。
pickle序列化后的数据,可读性差,人一般无法识别。

pickle.dump(obj, file[, protocol])
  序列化对象,并将结果数据流写入到文件对象中。参数protocol是序列化模式,默认值为0,表示以文本的形式序列化。protocol的值还可以是12,表示以二进制的形式序列化。

pickle.load(file)
  反序列化对象。将文件中的数据解析为一个Python对象。

"""
import pickle
class Student:
    def __init__(self,name,age,score):
        self.name = name
        self.age = age
        self.score = score
ls =[]
ls.append(Student("张三",18,90))
ls.append(Student("李四",19,92))
ls.append(Student("王五",17,89))
with open('test.pkl',"wb") as f:
    pickle.dump(ls,f,True)
with open('test.pkl',"rb") as f:
    ls=pickle.load(f)
    print(ls)
    #[<__main__.Student object at 0x000002D8BCB40910>,
    # <__main__.Student object at 0x000002D8BCB40790>,
    # <__main__.Student object at 0x000002D8BCB42FD0>]

4.异常处理

在这里插入图片描述

三、数据库操作

1.创建连接对象

在这里插入图片描述

在这里插入图片描述
在这里插入图片描述

2.创建游标对象

在这里插入图片描述

  • 8
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值