模块导入与文件读写

该博客主要介绍了如何使用Python的csv模块进行CSV文件的操作,包括读取和写入数据。首先展示了如何通过os模块获取指定文件夹下所有文件名,并演示了DictWriter类的用法,用于创建和写入通讯录信息到CSV文件。接着,使用DictReader类读取CSV文件,展示每一行数据。最后,遍历各等级会员表文件夹,打印出每个文件的内容,展示了文件读取和处理的基本流程。
摘要由CSDN通过智能技术生成

模块的导入

请你运行下方代码,获取【各等级会员表】文件夹下的所有文件名。

# 导入 os 模块
import os

# 设置文件夹路径
folder_path = './工作/各等级会员表/'

# 获取所有文件名并打印
file_names = os.listdir(folder_path)
print(file_names)
# 导入 os 模块 listdir() 函数
from os import listdir

# 设置文件夹路径
folder_path = './工作/各等级会员表/'

# 获取所有文件名并打印
file_names = listdir(folder_path)
print(file_names)

代码题 6 - DictWriter() 类

下面有一段代码,功能是向一个 csv 表格中添加通讯录信息,请你帮忙补充第 13、21、24 行代码,实现代码功能。

# 导入模块
import csv

# 设置表头名称
head = ['姓名', '职业', '电话']

# 打开文件对象
f = open('addressbook.csv', 'w', encoding='utf-8')
# 实例化类 DictWriter() 得到 DictWriter 对象
writer = csv.DictWriter(f, fieldnames=head)

# 使用 writeheader()方法,写入表头
writer.writeheader()

# 设置通讯录信息
data1 = {'姓名': '陈知枫', '职业': '学生', '电话': '13400000001'}
data2 = {'姓名': '林月娜', '职业': '程序员/老师', '电话': '13211111112'}
data3 = {'姓名': '闪光公寓管家', '职业': '', '电话': '15022222223'}

# 使用 writerow() 写入 data1
writer.writerow(data1)

# 使用 writerows() 写入 data2、data3
writer.writerows([data2,data3])

# 关闭文件
f.close()

你可能会有疑问,为何 open() 函数中路径是这个样子:'addressbook.csv'

这是因为当前运行的代码文件与【addressbook.csv】文件在同一级目录下时,'./addressbook.csv'可以简写为 'addressbook.csv'

接下来我们就来读取这个 csv 文件,查看是否已经完整写入了通讯录信息吧。

代码题 7 - DictReader() 类

请补充出第 7 行代码,实现查看 csv 文件中每行数据的功能。

# 导入模块
import csv

# 以自动关闭的方式打开文件
with open('addressbook.csv', 'r', encoding='utf-8') as f:
    # 以字典的形式获取 csv 文件信息
    reader=csv.DictReader(f)
    
    # 打印字典中的行数据
    for row in reader:
        print(row)

以上两道题的知识点包含了 csv 模块的 DictWriter() 类中 writeheader()writerow()writerows()三种方法,还通过 DictReader() 类的实例化,去读取数据。

代码实战

晓薇是一名服装店店员,她有一项工作职责是将各等级会员表中的信息录入到会员总表。

首先,她要分别查看服装店的会员总表以及各个等级的会员表。

然后,将各个等级的会员表信息汇总录入到会员总表。

 

 

# 导入模块
import os
import csv

# 设置文件夹路径
folder_path = '../工作/各等级会员表/'

# 获取所有文件名
file_list = os.listdir(folder_path)

# 遍历所有文件
for file in file_list:
    # 通过文件夹拼接文件名的方式,获取文件路径
    file_path = folder_path + file
    # 打印提示内容
    print(file+' 的内容是:')

    # 以自动关闭的方式打开文件
    with open(file_path, 'r', encoding='utf-8') as f:

        # 以字典的形式获取 csv 文件信息
        file_reader = csv.DictReader(f)

        # 打印字典数据
        for row in file_reader:
            print(row)

运行结果:

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

mez_Blog

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值