用什么软件可以切割10个G的txt数据? 举报 理由 举报 取消 题主是近似文科僧 金融专业 自己下了一个10G的股票数据想扔进matlab做分析 结果txt文件本身就打不开 因为是数据 所以不敢乱用网络上的txt文本切割软件 求大神相助 多谢! 2017年12月1日 10 条回复 1763 次浏览 MATLAB,txt,分析,数据,文本,文档
回复 ( 10 )
你要用MATLAB的话,其实没必要切割,处理这样的txt有两种方法可以考虑:
1.用fopen,fscanf,textscan等函数读取部分数据之后进行处理;也可以用dlmread更方便的读取
2.如果你的数据比较规整(简单来说就是类似于csv的那样,分隔符相同,数据都是比较整齐的一列列的),可以用datastore读取后用mapreduce来进行处理
如果一定要分割的话,上边两种方法同样可以用来分割文件
用ipython吧,import pandas包,上手很容易。无脑安装就好。
看了下别人的回答,readline是分割10g数据,逐步分析,但是数据里面还是有很多无效字段,浪费内存,浪费时间。
而清洗数据,股票数据有明确的字段,所以可以通过usecolumn来筛选自己想要的字段,可能你的10g文件直接先变2g了。而数据的时间完整性依然保存,依然是全数据。
然后该干嘛干嘛。效率也可以接受。处理10g数据大概百秒,2g数据十几秒吧。
装个mysql把数据导入进去然后select选取你想要数据
man split
1.先回答题主的问题,实际,但不科学的处理方法:
推荐网站绿盟【绿色软件联盟】,在里面搜【文件分割】、【文件切割】等等,把那些软件都下载下来,丢到虚拟机里,先杀毒,然后一个一个地测试。测试成功后,就可以使用了。
2.再说说科学的处理方式:
2.1 分析格式。看看应该怎么切割。既然题主提到时txt文件,我估计应该是按行分隔。
2.2 主流编程语言都能处理文本的切割。
2.3 如果要自己写软件,并且把质量提高到工业级,那么需要考虑容易出现故障的位置,并在这些位置上加入各种校验,比如切割的正确性验证、读写校验,这两个地方容易出问题。软件写完后,别偷懒,把测试也严谨地做完。
2.4 如果需要考虑用户体验,则可以把整个任务设计成可中断可恢复的步进模式。比如,切割100G的文件,可以把这个任务设计为100个步骤,每个步骤处理1G。每个步骤的处理前、处理中、处理后,都要记录在配置文件中。这样,即使系统崩溃,也能最大程度地恢复进度,不需要重新处理整个文件。
首先要确认这文本结构 不让怎么分割?分割出来的都可以说是损坏的
对于这么大的文件 用内存映射
操作起来
不用切,可以试试数说立方
split加cat
首先,如果你对于处理数据没有足够的经验的话,现复制一份吧。
接着 你可以使用Matlab的文本处理命令,但是应该只能一行一行处理,速度跟python差不多,因为matlab数值处理那方面精度高于python,速度要慢一点x,文本处理速度OK
如果你要用python 也OK 没有任何问题
如果有需要,我可以给你代码