当前位置: 首页>编程语言>正文

csv大文件怎么用access 大型csv文件


对大型csv文件进行排序

  • 背景
  • 惨痛经历
  • 1、使用excel打开
  • 2、使用pandas中的sort_value()方法
  • 解决方法
  • end


背景

爬取了1个G左右的json数据,是全国2000个左右城市和地区5-8年以来的每一天的天气信息,然后把它处理成csv文件,就像这样:

csv大文件怎么用access 大型csv文件,csv大文件怎么用access 大型csv文件_python,第1张

处理之后大概有300多MB:

csv大文件怎么用access 大型csv文件,csv大文件怎么用access 大型csv文件_排序_02,第2张

因为是多线程爬的,所以里面的数据并不是按照一个城市一个城市排列,日期也不是一天一天连续的。为了进一步处理分析数据,需要按照城市分割成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

网上有版的可以使用,自行搜索下载。

界面

csv大文件怎么用access 大型csv文件,csv大文件怎么用access 大型csv文件_python_03,第3张

操作

1、打开csv文件。因为是中文界面,就不用多说了。

2、排序。排序的功能栏在这里:

csv大文件怎么用access 大型csv文件,csv大文件怎么用access 大型csv文件_python_04,第4张

选中一列后,就可以升序或者降序对整个文件排序了,因为文件很大,排序大概花了10秒钟,而且亲测对中文的排序效果很好,完全没有问题。

csv大文件怎么用access 大型csv文件,csv大文件怎么用access 大型csv文件_csv大文件怎么用access_05,第5张

3、接下来是保存

这一点我觉得是最坑的,因为涉及到了中文编码的问题,千万千万不要点保存或者ctrl+s

如果直接保存,当时什么问题也没有,还是能正常显示,但是如果你把它关掉重新打开,就会出现编码问题,你的中文部分会全部乱码而且无法修复,如果你的原始文件没有备份,那就惨了。这个问题只出现在原始文件较大的情况,我测试了小文件,好像没有这个问题。但是大文件是有这个问题的,而且每次都会出现,不是偶然现象。

这是这个软件的一个bug,所以强烈建议处理数据之前,先把原始数据备份一遍。正确的姿势是:

点击另存为,然后会这样:

csv大文件怎么用access 大型csv文件,csv大文件怎么用access 大型csv文件_排序_06,第6张

这里的编码是默认的GB2312,因为我写这个CSV的时候用的编码就是GB2312,如果没有默认,要选择这个编码方式,然后再另存一份。这样再打开才不会出现乱码问题。

end

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



https://www.xamrdz.com/lan/5up1960395.html

相关文章: