用 Python 自动化办公(csv 项目实战)

本文通过一个实例展示了如何使用Python自动化处理大量寝室数据,包括数据导入、分类、文件夹创建和CSV文件写入,解决Excel筛选的繁琐工作。通过字典迭代算法和处理乱码问题,实现了数据的高效管理和自动化办公。
摘要由CSDN通过智能技术生成

现实的创作来源于生活的灵感!

项目引入

昨天突然发现有一个比较头疼的问题,有一份数据是某一个学校的寝室数据,有不同的维度的分类,总的数据大概有 4000 数据,需要进行分类,然后按照不同分类维度进行表格制作,最后生成 8 个文件夹,每个文件夹里面有 24 个表格,这个就是我们这一个程序的最终实现功能。如果我们用 Excel 筛选需要点很多次,而且需要几个人的配合工作,这样就比较的费力,那么作为数据分析的 Python 神器,可不可以解决这个问题了,答案是当然可以!

项目思路

1.首先对这个大量的数据进行导入,用 CSV 这个库,然后按照 Python 的对象进行写入和解析,最后存储在 pycharm 运行内存空间,方便我们下一步操作。2.导入之后我们就需要分类了,这个时候需要我们写一个算法了,我把它叫做“字典迭代算法”当然是我自己命名的,这个里面涉及到很多的坑,最后我们需要把这个功能封装起来。3.数据保存也就是,CSV 文件的写入数据,最后利用 Python 的内置模块 OS 进行文件夹的分类创建,最后实现保存数据,这个时候我们还要解决 CSV 文件的中文乱码问题。

难点

1.解析数据之后如何分割数据,进行保存 2.写入文件的时候如何解决乱码问题 3.怎样去结构化我们的代码程序

代码介绍

大概的思路就是这样,下面我们来具体看看这个程序的功能实现的功能步骤

解析数据

# 1.解析CSV海量数据,用字典保存在内存空间
def csv_data():
    global dormitory_data
    import csv
    dormitory_data = []
    with open(r"寝室数据.csv", encoding='utf-8-sig') as file:#将你的CSV文件和该程序文件放在一个文件夹下面
        f_csv = csv.reader(file)#读取文件里面的每一行数据,转换为列表赋值给新的变量
        header = next(f_csv)#利用迭代的方法,直接取出表头行(标题行),更新f_csv的数据,去除了标题行
        for row in f_csv:
            data = {}
            for index in range(7):
                data[header[index]] = row[index]
            dormitory_data.append(data)
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
问题描述: 在数据处理中经常需要对大量数据进行汇总,将相同关键字记录的某些数据项的值叠加起来,生成一个分类汇总表。 假设某超级市场销售有m种商品(假设商品的编号为1,2,3,┅┅,m),有n台前台收款机(假设收款机的编号为1,2,3,┅┅,n)进行收款,以记录的形式提供给计算机,每个记录表示某台收款机的一种商品一次交易的数量和销售额。记录由4个域组成:收款机编号、商品编号、销售数量、销售金额。构造一个结构体类型,每次销售数据以一个结构体变量保存在一个数据文件中。 实现要求: ⑴ 编写实现将数据记录插入到数据文件的最后的函数; ⑵ 编写以收款机为单位的数据分类处理函数。构造n个单链表,每个链表保存一台收款机的销售记录,这n个单链表的头指针存放在一个指针数组中,通过数组的下标就可以知道是哪台收款机。读取数据文件的记录,将所有的销售记录(数据文件中的全部记录)分解插入到n个单链表; ⑶ 统计每台收款机的销售总额; ⑷ 编写以商品为单位的数据分类处理函数。构造m个单链表,每个链表保存一种商品的销售记录,这m个单链表的头指针存放在一个指针数组中,通过数组的下标就可以知道是哪种商品。读取数据文件的记录,将所有的销售记录(数据文件中的全部记录)分解插入到m个单链表; ⑸ 以商品为单位,统计每种商品的销售总额。 ⑹ 设计一个菜单,具有插入数据记录、按收款机统计销售总额、按商品统计销售总额、退出系统等最基本的功能。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值