Python将csv文件以某列为条件分类切割

您所在的位置:网站首页 csv文件分列 Python将csv文件以某列为条件分类切割

Python将csv文件以某列为条件分类切割

2023-08-17 20:48| 来源: 网络整理| 查看: 265

背景

项目中有一个数据文件数量庞大,一个文件中按照年月日分成几十万条数据,想试试能不能用python把它简单切割一下,按照日期分类切成小的csv文件。 于是在网上找了很多资料,结合自己的一些修改,整理了一下,方便以后再用。

大概步骤 1、读取文件 2、找出需要分类的列 3、将此列中重复的内容删除,每类剩余一条 4、把该列所有符合某一类的内容存入一个csv文件中 上代码 import pandas as pd # 读取文件数据 df=pd.read_csv('D:\\接收的文件\\lqf.csv', sep=',',engine='python',header=[0]) # 列csv文件中所有列 df.columns = ['year', 'date', 'statefips', 'countyfips', 'ctfips', 'latitude', 'longitude', 'DS_PM_pred', 'DS_PM_stdd'] # 删除date列中的重复项,也就是说剩下的date都是已经分好的类别 date_cate = df.drop_duplicates(subset=['date']) print(date_cate.date) print(range(len(date_cate))) # date中的所有类,也就是文件数 for name in date_cate.date: print(name) # 当date为某一个类时,存入一个小的csv文件中,文件名为类名 df[df.date == name].to_csv("D:\\接收的文件\\data\\"+u"%s" %name+".csv")

header=[0] #代表第一行为表头不计入其中,可根据表格修改。

!!!!!!(2)!!!!!!遍历文件夹中所有的文件然后进行切割,没啥用,自己做个存档而已 ↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓

import pandas as pd import os j = 347 for info in os.listdir('D:\\接收的文件\year_02'): domain = os.path.abspath(r'D:\\接收的文件\year_02') # 获取文件夹的路径 info = os.path.join(domain, info) # 将路径与文件名结合起来就是每个文件的完整路径 # 读取文件数据 df = pd.read_csv(info, sep=',', engine='python', header=[0]) # 列csv文件中所有列 df.columns = ['year', 'date', 'statefips', 'countyfips', 'ctfips', 'latitude', 'longitude', 'DS_PM_pred', 'DS_PM_stdd'] grouped = df.groupby('date') # delete duplicated data ind_frame = df.drop_duplicates(subset=['date']) # print(ind_frame.date) # print(range(len(ind_frame))) for name in ind_frame.date: # print(name) j += 1 print("已经扫描到第" + '{}'.format(j)+'个文件') df[df.date == name].to_csv("D:\\接收的文件\\data2\\" + u"%s" %name+".csv")


【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3