商城源码价格低 质量好/家庭优化大师
现实的创作来源于生活的灵感!
项目引入
昨天突然发现有一个比较头疼的问题,有一份数据是某一个学校的寝室数据,有不同的维度的分类,总的数据大概有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_dataimport csvdormitory_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)
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
这里我们对一份Excel的数据,修改它的后缀名,变成CSV文件的后缀名即可,然后我们就对这个数据进行导入和解析了。
这个解析过程和我们之前的一篇文章《用Python写一个成绩计算系统》的有异曲同工之妙。主要要理解对表头行的提取很数据迭代解析,最后存储在一个列表里面。注意这里一般都是需要声明全局变量的。
效果执行
分割数据
# 分割数据,按照数据的特点
def csv_sort():global dictsdicts=[];i = 0dormitory_datas = dormitory_data.copy()#字典迭代删除迭代数据是一个坑,需要我们时刻更新数据库值dormitory_datass= dormitory_data.copy()for x in dormitory_datass:b = []for sort in dormitory_datass:a_1 = sort["宿舍编号"]b.append(a_1)dicts.append(x)dormitory_data.remove(x)dormitory_datass=dormitory_data.copy()if b[i][:3] != b[i+1][:3]:break