模块导入与文件读写(下)

前面我们完成了对单个文件的读取:【会员总表.csv】文件;

以及对多个文件的批量读取:【1级会员表.csv】文件、【2级会员表.csv】文件、【3级会员表.csv】文件。

接下来要将各个等级的会员表信息录入到会员总表。

虽然这项工作操作难度不高,但每天都要做,还是挺花时间的。

能否用 Python 帮助晓薇解决这项重复性工作呢?

题目要求

实现功能:编写一段代码,将【各等级会员表】文件夹下所有的 csv 文件信息写入到【会员总表.csv】文件。

输出结果【会员总表.csv】文件末尾添加 13 行数据,包括 1 级会员(7 行)、2 级会员(4 行)、3 级会员(2 行)。

具体输出结果见下:

实现代码:

1)变量名建议:文件的表头 —— head;文件路径 —— file_path;文件夹路径 —— folder_path;实例化 csv 文件后得到的 DictReader 对象—— file_reader;实例化 csv 文件后得到的 DictWriter 对象—— file_writer。
2)可以采用文件夹拼接文件名的方式,结合 for 循环,批量获取文件路径。
3)可以使用for循环append()函数,将读取出来的行数据,循环写入列表中。

# 导入模块
import csv
import os

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

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

# 设置文件的表头
head = ['会员卡号', '性别', '会员卡级别']

# 设置一个空列表,用来存储行数据
list1=[]

# 遍历所有文件
for rows in file_list:
    # 通过文件夹拼接文件名的方式,获取文件路径
    file_path=folder_path+rows

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

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

        # 遍历数据
        for row in file_reader:
            # 打印数据
            print(row)
            # 将读取出来的行数据,循环写入 rows 列表中
            list1.append(row)

# 以追加的方式写入文件
with open('../工作/会员总表.csv', 'a', encoding='utf-8') as file:

    # 实例化类 DictWriter() 得到 DictWriter 对象
    file_writer=csv.DictWriter(file,filednames=head)

    # 写入文件的多行内容
    file_writer.writerows(rows)

 运行效果:

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

mez_Blog

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

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

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

打赏作者

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

抵扣说明:

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

余额充值