利用Python将csv文件按照某列分成小csv
需求:网上下载的csv文件,包含的几十万的数据,想要根据MMSI的值分为不同的csv文件
主要步骤:
- read_csv:读取存放所有数据的csv文件
- drop_duplicates:去掉重复的数据(默认为所有特征值匹配才相同)
- groupby:按照MMSI特征值进行分组
- 对分组后的数据逐行进行写入
遇到的主要问题:
- 分组后的每一组数据,如何写入不同的csv文件中。解决使用的是to_csv
- 写入文件后,发现每隔一行写一行数据,将模式改为“ab+”即mode=“ab+”
- 若是多次写入一个文件,会重复,因此每次写入前,若是文件中存在数据,进行清空
下面是代码:
# 将存放轨迹数据的excel文件按照,船的编号拆分为多个
def break_excel_MMSI():x_head_key = ['MMSI', 'BaseDateTime', 'LAT', 'LON', 'SOG', 'COG', 'Heading', 'VesselName', 'IMO', 'CallSign','VesselType', 'Status', 'Length', 'Width', 'Draft', 'Cargo']csv_file = 'F:\\myPythonProject\\boatJsonData\\AIS_2016_12_Zone06\\AIS_ASCII_by_UTM_Month\\2016\\AIS_2016_12_Zone06.csv'df = pd.read_csv(csv_file, header=0)df.columns = x_head_key# 去掉重复数据ind_frame = df.drop_duplicates(keep='first')# 对数据进行分组处理grouped = df.groupby(x_head_key[0]) # according different categories to group by the dffile = 'F:\\myPythonProject\\boatJsonData\\AIS_2016_12_Zone06\\AIS_ASCII_by_UTM_Month\\2016\\track_by_mmic\\'for value, group in grouped:filename = file + str(value) + '.csv'try:f = open(filename, 'w')if f:# 清空文件内容f.truncate()# 将新数据写入文件group.to_csv(filename, header=x_head_key, index=False, mode='ab+')except UnicodeEncodeError:print("编码错误, 该数据无法写到文件中, 直接忽略该数据")
利用Python将csv文件按照某列分成小csv相关推荐
- python pandas读取csv文件指定行_python pandas获取csv指定行 列的操作方法
python pandas获取csv指定行 列的操作方法 pandas获取csv指定行,列 house_info = pd.read_csv('house_info.csv') 1:取行的操作: ho ...
- python怎么添加csv模式_python对csv文件追加写入列的方法
python对csv文件追加写入列,具体内容如下所示: 原始数据 [外链图片转存失败(img-zQSQWAyQ-1563597916666)(C:\Users\innduce\AppData\Roam ...
- python csv读取数据 去掉标题-Python读csv文件去掉一列后再写入新的文件实例
用了两种方式解决该问题,都是网上现有的解决方案. 场景说明: 有一个数据文件,以文本方式保存,现在有三列user_id,plan_id,mobile_id.目标是得到新文件只有mobile_id,pl ...
- python读取多列csv文件_多列上的csvjoin
我有以下csv文件,我想Inner Join CSV 1:行程_数据.csv(250 MB)head -2 rand_trip_data_1.csv medallion,hack_license,ve ...
- Python基础——csv文件中某列数据替换为数字
csv文件中某列数据替换为数字 来源--机器学习读取数据 方法一:正则表达式,replace() import pandas as pd data = pd.read_csv("data2. ...
- R语言读取csv文件,第一列列名出现乱码怎么办
版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明. 本文链接: https://blog.csdn.net/weixin_45075290/art ...
- [转载] pythonpandas读取csv文件最后一行_简单小案例(一):使用Pandas在Python中读取和写入CSV文件...
参考链接: 使用Pandas在Python中读写CSV文件 前期文章链接: YOLOv3论文 https://arxiv.org/pdf/1804.02767.pdf 正文: 有许多方法可以在Pyth ...
- python 利用python处理excel文件
python 利用python处理excel文件 1.相关包的安装 2.读取.创建excel文件,遍历内容 3.字体样式调整 4.填充样式调整 5.边框样式调整 6.对齐样式调整 7.excel内添加 ...
- python如何将utf-8编码文件改为ansi编码文件_Excel导入CSV文件乱码?两个小方法让文件正常显示...
最近网友抱怨,收到别人发来的数据表,打开后长这样: CSV再EXCEL中显示为乱码 除了数字,其他是啥玩意儿 完全乱码... (乱码!乱马!乱吗?乱!) 但是当使用记事本打开,检查确认是否文件有问题时 ...
最新文章
- 【新手教程】新版短信服务小白教程完全版(原阿里大于
- 资源已存在时POST的HTTP响应代码
- java 中的fork join框架
- EM Algorithm
- python跨函数调用变量_对python中不同模块(函数、类、变量)的调用详解
- apache启用gzip压缩方法
- Linux知识积累(2)dirname的使用方法
- 最新pvz服务器补偿码,阴阳师:补偿来了!大量活动导致服务器崩溃,现已修复且下发补偿...
- Linux下配置静态IP地址,设置DNS和主机名
- C++ 关于“堆对象和栈对象”
- 计算机表格布局,使用表格布局网页
- 常见计算机硬件故障维修方法,电脑硬件有哪些常见问题 电脑硬件常见问题维修技巧【详解】...
- 解决layui的富文本编辑器中图片的大小问题
- linux ftp 取文件,linux下拉取文件的方法
- 嵌入式主板在数控机床领域的应用
- 基于51单片机的大棚环境土壤湿度光强监测系统proteus仿真原理图PCB
- 50和学习c/c++优秀网站
- 程序员笔试之京东2021测试开发工程师 单选题收集整理(三)
- java做漂亮的游戏界面_java对打小游戏界面漂亮
- 2021年计算机科学与技术排名,2021年全国计算机科学与技术专业大学排名