欢迎光临散文网 会员登陆 & 注册

数据处理那些事|如何读取一个128G的超大csv文件?

2023-07-21 07:28 作者:锦一爸爸  | 我要投稿

首发于:https://mp.weixin.qq.com/s/mzLgFV6Nq67mjY9_kjiAqw

内容导航

  • 契机

  • 科普:csv是什么?

  • EasyCsv有什么用?

    • 1 csv文件预览

    • 2 csv文件转换

    • 3 csv文件分割

  • EasyCsv为什么可以快速查看超大csv文件?

  • EasyCsv如何下载?

契机

今年4月~6月根据人文帮公众号读者的赞助,获取到了2023年全国的兴趣点数据。
2023年全国34个省份的poi数据累计近6900万,是以csv格式的文件分省份存储的。

分享给一些读者后,反馈数据太大了,无法读取。因为csv格式的文件远没有Excel格式的文件那么常见,不是所有的同学都会读取这种格式的文件。另一方面,我平时做一些数据处理类的工作时,也偶而会需要读取超级大的CSV文件,比如说下面截图中的这个csv文件,有128G,如果直接用第三方工具读取,基本就会导致工具崩溃。


为了解决以上这些问题,在业余时间写了一个csv数据处理与转换工具:EasyCsv,不需要会员,免费使用。其实很早就前就写好了,最近在忙装修的事,心力交瘁,一直没有发布,今天下午处理水管漏水、水管改造和门窗安装的事,请假了半天,抽空完善了这篇文章,顺便把这个工具分享给大家。

科普:csv是什么?

鉴于公众号的读者很多是在校同学,在开始之前,先来科普一下什么csv格式的数据文件。我们平常使用最多的数据文件就是Excel了,如果你使用Excel处理过数据,你就会发现,对于Excel 97-2003 (.xls),一张表最多只能存储65536行,对于Excel 2007+ (.xlsx),最多可以存储1048576行。
于是问题来了,那如果你要存储超过1048576行的数据用什么文件呢?
csv格式的文件就是这个问题的解决方案之一。CSV是Comma-Separated Values的简称,是一种常见的文本文件格式,用于存储和交换简单的表格数据。CSV文件由纯文本组成,使用逗号(或其他分隔符)将不同的字段分隔开来。在CSV文件中,每一行表示一个数据记录,每个字段被逗号分隔。每个字段可以是文字、数字或其他类型的数据。CSV文件通常不包含任何格式化或样式信息,仅用于保存原始数据。

EasyCsv有什么用?

简单来说,EasyCsv是一个CSV文件的读取与转换工具,核心功能有三个:

1 csv文件预览

如果你像我一样,偶而需要查看超级大的csv文件,比如说上面示例中的那个128G的csv文件,你可以使用这个工具的预览模式,使用极小内存只需要不到1秒就可以快速实现文件预览。

2 csv文件转换

你可以将csv文件一键转换并导出为Excel文件或者Shapefile文件。
注意:如果要导出为Shapefile文件,你需要指定位置列名(由经度和纬度组成的列)。

3 csv文件分割

根据 CSV 文件中的某一列的特定值,将数据分割成多个子文件,支持分割成Excel文件或者csv文件。例如,我这里有一个北京市poi的示例文件,里面有一列名为【大类】,记录着各个行业的poi行业大类,如交通设施、生活服务、酒店住宿等。如果想把这个csv文件根据行业大类分割,那么这个工具也能一键实现。

EasyCsv为什么可以快速查看超大csv文件?

多讲一下,给有编程基础的同学提供一个参考。其实很简单,csv格式的文件你可以理解为是一个小型数据库,在读取时可以只读取指定的行数。例如在这个工具里我设置为只读取前1000行,所以可以在1秒内高速读取并预览。

EasyCsv如何下载?

关注人文帮公众号,回复以下任一关键词,即可获取最新的下载链接:

  • csv

  • easycsv



数据处理那些事|如何读取一个128G的超大csv文件?的评论 (共 条)

分享到微博请遵守国家法律