需求:网上下载的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. 学习练习SQL的数据库employee文件
  3. 最短路径问题 java实现 源代码
  4. python(1) - 输入和输出
  5. 来看看CDN网络安全防护的方案
  6. 【数据结构与算法】之深入解析“丑数”的求解思路与算法示例
  7. tensorflow没有这个参数_内存频率越高越好?如果不看这个参数,内存频率再高也没有用...
  8. GNS3 Windows安装
  9. 【java】矩阵的求解
  10. 自动驾驶算法-滤波器系列(三)——不同运动模型(CV、CA、CTRV、CTRA)的建模和推导
  11. 5.PHP 命令行模式
  12. 多模态multi-modal 与多视图multi-view
  13. 【2017 United Kingdom and Ireland Programming Contest (UKIEPC 2017)】Knightsbridge Rises【最大流+路径输出】
  14. linux怎么快平台,Linux快速构建LAMP网站平台
  15. ACT开发初步(二)——XML
  16. 共同富裕、乡村振兴专题:基尼系数、恩格尔系数、泰尔指数-数据大全整理
  17. 净推荐值NPS(Net Promoter Score)
  18. html中的flv视频播放器
  19. ddd linux 调试工具_linux-c/c++调试利器gdb、ddd小试
  20. 手把手教你批量收藏宗介和波妞壁纸

热门文章

  1. Strassen矩阵乘法(C++)
  2. 三菱PLC与第三方设备TCP通讯_PLC | 8台FX3U三菱PLC的无线网络通讯方案
  3. 谷歌浏览器的默认字号是多大?以及如何设置比最小字体还小的字体?
  4. 如何迁移单台或多台服务器?
  5. python xlsxwriter下载_windows下安装Python的XlsxWriter模块
  6. python绘图-共享双轴
  7. 高斯课堂 计算机网络(下)
  8. cocoa pods
  9. potplayer视频被放大,只能看到中央小部分画面
  10. android内核名修改工具,修改手机内核绕过ptrace