栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Python

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

Python 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

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

前面我们完成了对单个文件的读取:【会员总表.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)

 运行效果:

 

 

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/738894.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号