需求:网上下载的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相关推荐

  1. python pandas读取csv文件指定行_python pandas获取csv指定行 列的操作方法

    python pandas获取csv指定行 列的操作方法 pandas获取csv指定行,列 house_info = pd.read_csv('house_info.csv') 1:取行的操作: ho ...

  2. python怎么添加csv模式_python对csv文件追加写入列的方法

    python对csv文件追加写入列,具体内容如下所示: 原始数据 [外链图片转存失败(img-zQSQWAyQ-1563597916666)(C:\Users\innduce\AppData\Roam ...

  3. python csv读取数据 去掉标题-Python读csv文件去掉一列后再写入新的文件实例

    用了两种方式解决该问题,都是网上现有的解决方案. 场景说明: 有一个数据文件,以文本方式保存,现在有三列user_id,plan_id,mobile_id.目标是得到新文件只有mobile_id,pl ...

  4. python读取多列csv文件_多列上的csvjoin

    我有以下csv文件,我想Inner Join CSV 1:行程_数据.csv(250 MB)head -2 rand_trip_data_1.csv medallion,hack_license,ve ...

  5. Python基础——csv文件中某列数据替换为数字

    csv文件中某列数据替换为数字 来源--机器学习读取数据 方法一:正则表达式,replace() import pandas as pd data = pd.read_csv("data2. ...

  6. R语言读取csv文件,第一列列名出现乱码怎么办

    版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明. 本文链接: https://blog.csdn.net/weixin_45075290/art ...

  7. [转载] pythonpandas读取csv文件最后一行_简单小案例(一):使用Pandas在Python中读取和写入CSV文件...

    参考链接: 使用Pandas在Python中读写CSV文件 前期文章链接: YOLOv3论文 https://arxiv.org/pdf/1804.02767.pdf 正文: 有许多方法可以在Pyth ...

  8. python 利用python处理excel文件

    python 利用python处理excel文件 1.相关包的安装 2.读取.创建excel文件,遍历内容 3.字体样式调整 4.填充样式调整 5.边框样式调整 6.对齐样式调整 7.excel内添加 ...

  9. python如何将utf-8编码文件改为ansi编码文件_Excel导入CSV文件乱码?两个小方法让文件正常显示...

    最近网友抱怨,收到别人发来的数据表,打开后长这样: CSV再EXCEL中显示为乱码 除了数字,其他是啥玩意儿 完全乱码... (乱码!乱马!乱吗?乱!) 但是当使用记事本打开,检查确认是否文件有问题时 ...

最新文章

  1. 【新手教程】新版短信服务小白教程完全版(原阿里大于
  2. 资源已存在时POST的HTTP响应代码
  3. java 中的fork join框架
  4. EM Algorithm
  5. python跨函数调用变量_对python中不同模块(函数、类、变量)的调用详解
  6. apache启用gzip压缩方法
  7. Linux知识积累(2)dirname的使用方法
  8. 最新pvz服务器补偿码,阴阳师:补偿来了!大量活动导致服务器崩溃,现已修复且下发补偿...
  9. Linux下配置静态IP地址,设置DNS和主机名
  10. C++ 关于“堆对象和栈对象”
  11. 计算机表格布局,使用表格布局网页
  12. 常见计算机硬件故障维修方法,电脑硬件有哪些常见问题 电脑硬件常见问题维修技巧【详解】...
  13. 解决layui的富文本编辑器中图片的大小问题
  14. linux ftp 取文件,linux下拉取文件的方法
  15. 嵌入式主板在数控机床领域的应用
  16. 基于51单片机的大棚环境土壤湿度光强监测系统proteus仿真原理图PCB
  17. 50和学习c/c++优秀网站
  18. 程序员笔试之京东2021测试开发工程师 单选题收集整理(三)
  19. java做漂亮的游戏界面_java对打小游戏界面漂亮
  20. 2021年计算机科学与技术排名,2021年全国计算机科学与技术专业大学排名

热门文章

  1. 金蝶登录显示服务器离线,金蝶云服务器已离线 登陆不了
  2. 【安全资讯】梅开二度,Chrome再次被曝0day漏洞
  3. m基于Simulink的高速跳频通信系统抗干扰性能分析
  4. CS231N课程作业Assignment1--SVM
  5. 数学建模番外篇3:优秀论文插图整理分析
  6. mysql的decimal保留两位小数_C#中的decimal怎么保留两位小数
  7. 经合经验模态分解res残差
  8. 芒芒分期换“套路”以VIP会员费收割用户,海尔金控旗下快捷通提供支付通道
  9. 前端人员如何在页面中导入外部字体
  10. 光流测速和视觉里程计