机器学习之Python入门学习csv操作文件的读取和写入

举报
南蓬幽 发表于 2022/04/30 18:32:05 2022/04/30
【摘要】 文件读取 第一步:打开文件 第二步:读取第一行,以‘|’分割并去掉‘\n’,转化为列表作为字典的key 第三步:读取一行,以‘|’分割并去掉‘\n’,转化为列表 第四步:为字典的key赋值对应的value 第五步:将字典添加进列表 第六步:输出 代码整合: 结果: 字典格式读取文件💨💨💨💨个人简介:💦💦💦简介:大三在读,分享一些学习笔记和心得体会💞💞💞兴趣领域:Pyth...

💨💨💨💨
个人简介:

💦💦💦简介:大三在读,分享一些学习笔记和心得体会
💞💞💞兴趣领域:Python,人工智能,算法和数据结构
👁‍🗨👁‍🗨👁‍🗨格言:逆水行舟,不进则退!
✅✅✅目的:一起进步!
哈喽!大家好呀😁😁我是【南蓬幽】,也可以叫我小幽,小友,小呦等等
如果有不对的地方,欢迎大家指正另外如果觉得不错的话请三连支持一下博主呦💖💖💖
在这里插入图片描述
🎉🎉🎉🎉🎉🎊🎊欢迎大佬们呀🎊🎊🎉🎉🎉🎉🎉🎉

文件读取

将StudentInfo中的信息以字典的形式存储在列表里。

文件内容:

学号|姓名|平时成绩|期末成绩
1445204009|王召|100|90
1445204010|林锦|95|67
1445204011|张晓|80|90
1445204012|赵雨|90|79

第一步:打开文件

with open("studentInfo.txt", 'r', encoding='utf8') as f:

1.encoding='utf8’防止读取的为乱码
2.使用with的话就不用close()了

第二步:读取第一行,以‘|’分割并去掉‘\n’,转化为列表作为字典的key

head = f.readline().strip().split('|')

1.strip()去除’\n’
2.split(’|’)以‘|’分割

第三步:读取一行,以‘|’分割并去掉‘\n’,转化为列表

    for line in f:
        line = line.strip().split('|')  # 读取一行,以‘|’分割并去

第四步:为字典的key赋值对应的value

   for i in range(len(head)):
            f_dict = {}
            f_dict[head[i]] = line[i]

第五步:将字典添加进列表

 f_list = []
 f_list.append(f_dict)

第六步:输出

print(f_list)

代码整合:

with open("studentInfo.txt", 'r', encoding='utf8') as f:
    head = f.readline().strip().split('|')   # 读取第一行,以‘|’分割并去掉‘\n’,转化为列表作为字典的key
    f_list = []
    for line in f:
        line = line.strip().split('|')  # 读取一行,以‘|’分割并去掉‘\n’,转化为列表
        f_dict = {}
        for i in range(len(head)):
            f_dict[head[i]] = line[i]   # 为字典的key赋值对应的value
        f_list.append(f_dict)     # 将字典添加进列表
print(f_list)

结果:

在这里插入图片描述

字典格式读取文件

现有一个user.csv文件,内容如下:

name,username,email
杨洋,yangy,yangy@sina.com
贾子豪,jiazh,jiazh@126.com
于飞,yuf,yuf@163.com
田宇辰,tianych,tianych@sina.com

1)以字典格式读取csv文件并打印出每个人的名字和电子邮件地址

2)新建usercopy.csv文件,将user.csv文件的内容按照csv文件写入的方式写入进usercopy.csv中。

import csv
with open('user.csv', 'r', encoding='utf8') as f:     # 读
    dictReader = csv.DictReader(f)
    header = dictReader.fieldnames
    ls = []
    for row in dictReader:
        ls.append(list(row.values()))
    print(ls)
with open('usercopy.csv', 'w', encoding='utf8') as file:    # 写
    write = csv.writer(file)
    write.writerows(ls)


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

【版权声明】本文为华为云社区用户原创内容,转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息, 否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。