大型csv文件排序问题

背景

爬取了1个G左右的json数据,是全国2000个左右城市和地区5-8年以来的每一天的天气信息,然后把它处理成csv文件,就像这样:
在这里插入图片描述处理之后大概有300多MB:
在这里插入图片描述
因为是多线程爬的,所以里面的数据并不是按照一个城市一个城市排列,日期也不是一天一天连续的。为了进一步处理分析数据,需要按照城市分割成2000个左右的CSV文件,为了提高效率,就需要先进行一次排序。

惨痛经历

1、使用excel打开

别想了,那自然是打不开的(至少我的电脑打不开),而且可以预计,就算打开也会十分的卡。

2、使用pandas中的sort_value()方法

网上有说使用pandas库的sort_value()方法根据某一列进行排序,但是因为我的数据中大部分是中文数据,所以测试的效果很差,基本相当于没排。但是如果是英文数据的话,这个方法还是不错的。
具体代码(部分):

import pandas as ps
df = ps.read_csv('new.csv',encoding='gb2312')
df = df.sort_values('city')
df.to_csv('output.csv',encoding='gb2312')

解决方法

使用工具EmEditor
网上有破解版的可以使用,自行搜索下载。
界面
在这里插入图片描述操作
1、打开csv文件。因为是中文界面,就不用多说了。
2、排序。排序的功能栏在这里:
在这里插入图片描述选中一列后,就可以升序或者降序对整个文件排序了,因为文件很大,排序大概花了10秒钟,而且亲测对中文的排序效果很好,完全没有问题。
在这里插入图片描述
3、接下来是保存
这一点我觉得是最坑的,因为涉及到了中文编码的问题,千万千万不要点保存或者ctrl+s
如果直接保存,当时什么问题也没有,还是能正常显示,但是如果你把它关掉重新打开,就会出现编码问题,你的中文部分会全部乱码而且无法修复,如果你的原始文件没有备份,那就惨了。这个问题只出现在原始文件较大的情况,我测试了小文件,好像没有这个问题。但是大文件是有这个问题的,而且每次都会出现,不是偶然现象。
这是这个软件的一个bug,所以强烈建议处理数据之前,先把原始数据备份一遍。

正确的姿势是:
点击另存为,然后会这样:
在这里插入图片描述这里的编码是默认的GB2312,因为我写这个CSV的时候用的编码就是GB2312,如果没有默认,要选择这个编码方式,然后再另存一份。这样再打开才不会出现乱码问题。

end

这是我的第一篇博客,不足之处希望大家指正。

  • 3
    点赞
  • 12
    收藏
    觉得还不错? 一键收藏
  • 5
    评论
### 回答1: 超大CSV文件可以使用以下几种方法打开: 1. 使用文本编辑器:文本编辑器如Notepad++、Sublime Text等可以打开大型CSV文件。这些编辑器具有比Windows自带的Notepad更强大的文本处理能力,如支持多个编码格式和自动化查找替换等功能。 2. 使用专业CSV编辑器:专业CSV编辑器如CSVed、Data Wrangler等允许用户对CSV文件进行高级编辑和数据转换,如剪切、粘贴、排序和过滤等操作。这些编辑器通常有非常高的性能和能够处理大型CSV文件。 3. 使用电子表格编辑器:Excel、Google Sheets、LibreOffice等电子表格编辑器可以用来打开大型CSV文件。这些编辑器具有很强的数据分析和可视化能力,能够帮助快速理解并搜索大型CSV文件。 4. 使用数据库管理工具:MySQL、SQLite、PostgreSQL等数据库管理工具可以将CSV文件导入到其数据库中,然后使用SQL查询语言进行数据分析和可视化处理。 无论采用哪种方法,最好在处理大型CSV文件时使用64位操作系统和足够的RAM,以确保处理能力和性能。此外,在打开超大CSV文件之前,请先备份文件,以免数据丢失。 ### 回答2: 要打开超大的CSV文件,推荐使用一些适合大文件的文本编辑器或数据处理工具。以下是一些有效的方法: 1. Notepad++:这是一个免费的、高度可定制的文本编辑器,有一些重要的功能,比如支持按列块选择、搜索和替换等功能,也支持打开非常大的文件。可以到官方网站下载最新版本。 2. Sublime Text:这是一款用于程序员和开发人员的高级文本编辑器,也支持大文件,拥有类似于谷歌浏览器的界面。可以到官方网站下载最新版本。 3. Excel:Excel是一个广泛使用的电子表格应用程序,也可以用于读取CSV文件。只需点击“数据”选项卡,选择“从文本”选项即可。 4. Python:如果你是开发人员或者具有编程技能,可以使用Python语言的Pandas库处理CSV文件。Pandas库可以高效地读取和处理大型CSV文件。 5. SQL:如果超大CSV文件需要进行数据分析,SQL是一种应用广泛的查询语言。使用SQL可以将CSV文件导入数据库或者处理器,进行高效的数据分析查询。 总之,在处理CSV文件时需要选择适合自己的工具,以保证高效、准确和快速的处理。 ### 回答3: 当CSV文件非常大时,最好使用专业级软件来处理它。以下是一些适合处理超大CSV文件的软件: 1. Microsoft Excel: Excel是最常用的电子表格软件之一。虽然它通常不适用于处理大型CSV文件,但它可以处理文件大小最高可达约100 MB的CSV文件。你需要指定导入选项,如行分隔符、列分隔符等,以正确读取CSV文件。 2. OpenRefine: OpenRefine是一个免费的开源数据清理和转换工具。它可以轻松加载大型CSV文件并对其进行转换和清洗。它拥有数据清理、筛选、转换、标准化等功能,通过在控制台上执行各种任务来处理文件。 3. CSVed: CSVed是一个简单的CSV编辑器,可以对CSV文件进行编辑和排序。虽然它没有OpenRefine那么强大和智能,但它可以处理大型文件,并具有比Excel更好的速度。它不支持处理列中的空白行,因此你需要手动扫描整个文件以提取数据。 4. R: R是一种统计软件,可用于处理和分析CSV文件。它包括许多可用于导入、转换和分析数据的程序包和库。一些R程序包如data.table、sqldf、ff等可用于增强CSV文件的处理能力。 总体而言,处理大型CSV文件需要多种技能和工具,需要花费时间和努力。因此,根据需要和所需的功能选择最适合的工具和软件,可以实现更简单、更快速和更高效的数据处理过程。
评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值